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.