Different user agents for various compression modes
-
gkalabin last edited by
Hello!
I'm working on a web site and the site uses user agent sniffing in order to show appropriate theme. We have lots of opera mini users and we even have a separate theme for them. So, it's crucial for us to detect opera mini by user agent.
Recently opera mini detection problems arose. I took a closer look and found that UA are different for various saving modes. In High Savings mode it uses "Mozilla/5.0 (Linux; U; Android 5.0.2; en-US; HTC Desire 816 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/14.0.2065.100298 Mobile Safari/537.36"
In Extreme mode it uses "Opera/9.80 (Android; Opera Mini/14.0.2065/37.7936; U; en) Presto/2.12.423 Version/12.16"
Does it mean that requests from High Savings go from the device directly and don't use compressing servers? Is the browser as functional as Opera Mobile in this mode? This happens for instance on www.lazada.vnOne more weird thing I noticed, most of the regions work fine in Extreme mode, but www.lazada.co.id has the same problem even in Extreme mode: in the logs I see "Mozilla/5.0 (Linux; U; Android 5.0.2; en-US; HTC Desire 816 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/14.0.2065.100298 Mobile Safari/537.36"/
I did a bit of research and found that the request comes from 141.0.12.126, which is, according to whois, related to opera mini servers. Also, the request hasX-Requested-With: com.opera.mini.native
header.
It looks like a problem on opera mini servers side, but I'm not sure about it.
Please, help to find the solution for the latter problem.I'm using opera mini 14.0.2065.100298 which runs on HTC Desire 816. I'm in Russia (Moscow) and use MTS mobile operator. The issue happens while I'm using both wifi and mobile network.
-
smyru last edited by
The user agent (UA) differences are expected. In Extreme mode the real browser is on Opera Mini servers, meanwhile in High mode the browser is local to device, and the servers merrily compress resources (images, other inlines, HTML etc.) for it. That shall supposedly give you better site compatibility, although with fewer data savings. I would assume that the proxy compressor of High mode just forwards the UA as observed from the device.
It's easy to detect real Mini as in Extreme mode user. Opera has few guides on this on http://dev.opera.com