Friday, May 1, 2009

HTTP User-Agent from Nokia E71

pencil icon, that"s clickable to start editing the post

At work I have the pleasure of using a Nokia E71. I wanted to try out Google Maps for mobile as an alterntive to the nokia maps. The only way was to visit google through the browser in E71, and that way detect the device. It intrigued me to figure out how the UserAgent looked like, and be able to fake it with User Agent Switcher.

E71 Specification

Before just showing what turns up in the log files, here's what can be figured out from the specifications. The specification for Nokia E71 states that the Software platform and user interface uses S60 3.1 Edition, Eseries (Symbian Os 9.2). It lists the following features for Web browsing:

  • Supported markup languages: HTML, XHTML, MP, WML, CSS
  • Supported protocols: HTTP, WAP 2.0
  • TCP/IP support
  • Nokia browser
    • JavaScript version 1.3 and 1.5
    • Mini Map
  • Nokia Mobile Search
  • Nokia PC Internet Access (capability to serve as a data modem)

The Open Mobile Alliance(OMA) has defined and RDF Schema for technical device profiles and on their page for OMA Profile Data the UAProf V1.1 Candidate File (ccppschema-20021212) can be found. The specific profile for E71 has been long known and can be fetched at http://nds1.nds.nokia.com/uaprof/NE71-1r100.xml. In a comment block the User Agent is given:

 
<!-- ===================================================== -->
<!--                                                       -->

<!-- Version 1.1 16 Jul 2008                               -->
<!--                                                       -->
<!-- Valid beginning from version 1.00.0                   -->
<!-- User Agent Header: Mozilla/5.0(SymbianOS/9.2; U;      -->
<!--  Series60/3.1 NokiaE71/1.00.000; Profile/MIDP-2.0     -->
<!--  Configuration/CLDC-1.1;)AppleWebKit/413(KHTML,       -->
<!--  like Gecko)Safari/413                                -->
<!-- ===================================================== -->

User-Agent according to RFC 2616

In terms of HTTP RFC 2616 defines the User-Agent header. The W3C has a somewhat more accessible version than the plain IETF version: RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1" and specific in "14.43 User-Agent":

The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. User agents SHOULD include this field with requests. The field can contain multiple product tokens (section 3.8) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the product tokens are listed in order of their significance for identifying the application.

User-Agent = "User-Agent" ":" 1*( product | comment )

Example:

User-Agent: CERN-LineMode/2.15 libwww/2.17b3

The User-Agent's

My current User-Agent is:

"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"

The UAProfile was:

"Mozilla/5.0(SymbianOS/9.2; U;  Series60/3.1 NokiaE71/1.00.000; Profile/MIDP-2.0 Configuration/CLDC-1.1;)AppleWebKit/413(KHTML, like Gecko)Safari/413"

I've aerlier looked at The UserAgent Signature from the Google Chrome browser_

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.59 Safari/525.19

or

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

Where Firefox can look like:

Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10

or

Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

or

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16

Internet Explorer shows up like:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

or

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; InfoPath.2)

or

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2)

Read more