Standard way to detect mobile browsers in a web application based on the http request
Solution 1:
Wouldn't the standard way be to check the user agent? Here's a database of user agents you can use to detect mobile browsers.
Solution 2:
@David's answer mentioned using WURFL -- which is probably your best option. Be forewarned, however, the success rate is usually around 60% (from mine and other's experience). With carriers changing UA's constantly and the amount of device profiles that exist (60,000+ ?), there's no bulletproof way to get all the right data you want.
Just a bit of warning before relying heavily on a device DB. I would try to keep the user's options open by allowing them to change session options in case i've guessed wrong.