Opentopia Directory Encyclopedia Tools

User agent

Encyclopedia : U : US : USE : User agent


A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web. Web user agents range from web browsers to search engine crawlers ("spiders"), as well as mobile phones, screen readers and braille browsers used by people with disabilities.

When Internet users visit a web site, a text string is generally sent to identify the user agent to the server. This forms part of the HTTP request, prefixed with User-agent: or User-Agent: and typically includes information such as the application name, version, host operating system, and language. Bots, such as web crawlers, often also include a URL and/or e-mail address so that the webmaster can contact the operator of the bot.

The user-agent string is one of the criteria by which crawlers can be excluded from certain pages or parts of a website using the "Robots Exclusion Standard" (robots.txt). This allows webmasters who feel that certain parts of their website should not be included in the data gathered by a particular crawler, or that a particular crawler is using up too much bandwidth, to request that crawler not to visit those pages.

User agent spoofing

At various points in its history, use of the Web has been dominated by one browser to the extent that many websites are designed to work with that particular browser, rather than according to standards from bodies such as the W3C and IETF. Such sites often include "browser sniffing" code, which alters the information sent out depending on the User-Agent string received. This can mean that less popular browsers are not sent complex content, even though they might be able to deal with it correctly, or in extreme cases refused all content. Thus various browsers "cloak" or "spoof" this string, in order to identify themselves as something else to such detection code; often, the browser's real identity is then included later in the string.

The earliest example of this is Internet Explorer's use of a User-Agent string beginning "Mozilla/ (compatible; MSIE ...", in order to receive content intended for Netscape Navigator, its main rival at the time of its development. It should be stressed that this is not a reference to the open-source Mozilla browser, which was developed much later, but to the original codename for Navigator, which was also the name of the Netscape company mascot. This format of User-Agent string has since been copied by other user agents, partly because Explorer, in turn, came to dominate.

When Internet Explorer became the dominant web browser, rivals such as Firefox, Safari, and Opera implemented systems whereby the user could select a false User-Agent string to send, such as that of a recent version of Explorer. Some – e.g. Firefox and Safari – duplicate the User-Agent string they are trying to spoof exactly; others – e.g. Opera – duplicate the User-Agent string but add the genuine browser name to the end. This latter approach, of course, leads to a string containing three names and versions: first, the user agent claims to be "Mozilla" (i.e. Netscape Navigator); then, "MSIE" (Internet Explorer); and finally, the actual browser, such as "Opera".

Beside browsers, other programs utilizing HTTP protocol, like most download managers and offline browsers, also had the ability to change the user agent string sent to servers to user's liking. This is presumably done in an effort to maintain compatibility with certain servers (some servers refused to serve those programs right away because they are mostly used carelessly, thus burdening the server).

This vicious circle is expected to continue in the area of web browsers. Some standards-based web developers have started the "Viewable With Any Browser" campaign which encourages developers to design webpages according to official standards, not for any particular browser(s).

As of 2005, many websites are more standards-compliant than at other times in the history of the web. However, out-dated JavaScript, which effectively locks out browsers other than Explorer or Navigator, is still in use - especially on smaller, non-corporate, websites. This is often blamed on use of voodoo programming, in the form of copying and pasting older code without actually understanding what effect this will have on the website.

One result of user agent spoofing is that the usage share of Internet Explorer, the user agent browsers typically spoof, is probably overestimated, and the usage share of other browsers may be underestimated.

User agent sniffing

The term user agent sniffing refers to websites that show different content when viewed with a certain user agent. On the Internet, this will result in a different site being shown when browsing the page with a specific browser (e.g. Microsoft Internet Explorer). A famous example of this is Microsoft's Outlook 2003 Web Access. When viewed with IE, much more functionality is displayed compared to the same page in any other browser. User agent sniffing is mostly considered poor practice, since it encourages browser specific design. Many webmasters are recommended to create a HTML markup that is as standardised as possible, to allow correct rendering in as many browsers as possible.

Websites specifically targeted towards mobile phones, like NTT DoCoMo's I-Mode or Vodafone's Vodafone Live! portals, often rely heavily on user agent sniffing, since browsers on mobile phones often differ a lot from each other. Many developments in mobile browsing have been made in the last few years, while many older phones that do not possess these new technologies are still heavily used. Therefore, mobile webportals will often generate completely different markup code depending on the mobile phone used to browse them. These differences can be small (e.g. resizing of certain images to fit smaller screens), or quite extensive (e.g. rendering of the page in WML instead of XHTML).

There are a number of ways to perform user agent sniffing within web applications, including using public domain scripts and even commercial products such as BrowserHawk. See the External Links section for details.

Example user-agent strings

Browsers

  • SeaMonkey versions:
  • *1.0 on Windows 98Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0
  • *1.0.2 on Windows XPMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060516 SeaMonkey/1.0.2
  • Netscape Navigator (proprietary) versions:
  • *2.02 on OS/2 with option -3Mozilla/3.0 (OS/2; U)
  • *3.0 on SunOS with weak security — Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)
  • *4.61 on Macintosh with weak security — Mozilla/4.61 (Macintosh; I; PPC)
  • *4.61 on OS/2 with strong security — Mozilla/4.61 [en] (OS/2; U)
  • *4.7 on MacintoshMozilla/4.7C-CCK-MCD (Macintosh; I; PPC)
  • *4.8 on Windows 2000Mozilla/4.8 [en] (Windows NT 5.0; U)
  • Netscape versions (based on non-proprietary shared Mozilla code base):
  • *6.1 on Windows 2000Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20020508 Netscape6/6.1
  • *7 on Sun Solaris 8Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.0.1) Gecko/20020920 Netscape/7.0
  • *7.1 on Windows XPMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
  • *7.2 on Windows XPMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
  • *8.0.1 on Windows XP using Gecko — Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20050519 Netscape/8.0.1
  • *8.0.1 on Windows XP using MSHTML (with .NET installed) — Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215) Netscape/8.0.1
  • *8.1 on Windows XP using Gecko (with .NET installed) — Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20060127 Netscape/8.1
  • Novarra:
  • *Palm Web Pro 3.0.1a on Palm OSMozilla/4.76 [en] (PalmOS; U; WebPro/3.0.1a; Palm-Arz1)
  • OmniWeb versions:
  • *5.1.1 (v563.51) on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.51
  • *5.1.2 beta 1 (v563.57) on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.57
  • Openwave:
  • *6.2.2 on Mobile Phone — OPWV-SDK/62 UP.Browser/6.2.2.1.208 (GUI) MMP/2.0
  • Opera versions:
  • *6.03 on Windows 2000, cloaked as MSIEMozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.03 [en]
  • *6.03 on Mac OS 9, cloaked as MSIEMozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [en]
  • *7.23 on Windows 98Opera/7.23 (Windows 98; U) [en]
  • *8.00 on Windows XPOpera/8.00 (Windows NT 5.1; U; en)
  • *8.00 on Gentoo LinuxOpera/8.0 (X11; Linux i686; U; cs)
  • *8.02 on Windows XPOpera/8.02 (Windows NT 5.1; U; en)
  • *8.50 on Windows XPOpera/8.50 (Windows NT 5.1; U; en)
  • *8.50 on Windows XP, cloaked as MSIEMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50
  • *8.50 on Windows XP, cloaked as MozillaMozilla/5.0 (Windows NT 5.1; U; en) Opera 8.50
  • *8.50 on Gentoo LinuxOpera/8.5 (X11; Linux i686; U; cs)
  • *8.50 on Nokia 6630 (in Spanish) — Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6630/4.03.38; 6937) Opera 8.50 [es]
  • *8.51 on Windows XPOpera/8.51 (Windows NT 5.1; U; en)
  • *9.00 Preview 1 on Windows 2000, cloaked as OperaOpera/9.0 (Windows NT 5.0; U; en)
  • *9.00 Preview 2 on Mac OS XOpera/9.00 (Macintosh; PPC Mac OS X; U; en)
  • *9.00 Beta 2 on Windows XPOpera/9.00 (Windows NT 5.1; U; en)
  • *9.00 on Windows 2003Opera/9.00 (Windows NT 5.2; U; en)
  • *9.00 on Windows VistaOpera/9.00 (Windows NT 6.0; U; en)
  • Opera Mini versions:
  • *2.0.3920 on J2ME on Palm OSOpera/2.0.3920 (J2ME/MIDP; Opera Mini; en; U; ssr)
  • *2.0 on J2MEOpera/8.01 (J2ME/MIDP; Opera Mini/2.0.4062; en; U; ssr)
  • Safari versions:
  • *v125 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125
  • *v125 on Mac OS X, cloaked as MSIEMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2)
  • *v312 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312
  • *2.0 (v412) on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/412 (KHTML, like Gecko) Safari/412
  • Shiira
  • *1.2.2 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/418 (KHTML, like Gecko) Shiira/1.2.2 Safari/125
  • WebExplorer (based on Mosaic):
  • *1.1h on OS/2, an old HTTP/1.0 UA — IBM-WebExplorer-DLL/v1.1h
  • Camino:
  • *1.0b1 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.8) Gecko/20051107 Camino/1.0b1
  • *1.0 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060214 Camino/1.0
  • *1.0.1 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.3) Gecko/20060427 Camino/1.0.1
  • *1.0.2 on Mac OS XMozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
  • ELinks 0.4pre5 on Linux — ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)
  • Links versions:
  • *0.99pre14 under Cygwin on Windows 2000 — Links (0.99pre14; CYGWIN_NT-5.0 1.5.16(0.128/4/2) i686; 80x25)
  • *2.1pre17 under Gentoo LinuxLinks (2.1pre17; Linux 2.6.11-gentoo-r8 i686; 80x24)
  • *2.1pre19 under Gentoo Linux using X Window SystemLinks (2.1pre19; Linux 2.6.14-gentoo-r5 i686; x)
  • Lynx 2.8.4rel.1 on Linux — Lynx/2.8.4rel.1 libwww-FM/2.14
  • Off By One 3.5a on Windows 2000Mozilla/4.7 (compatible; OffByOne; Windows 2000)
  • w3m on FreeBSDw3m/0.5.1

Bots

Agent
(owner/user)
User agent string
Alexa

ia_archiver
Ask.com/Teoma

Mozilla/2.0 (compatible; Ask Jeeves/Teoma)
Baidu Spider

Baiduspider ( http://www.baidu.com/search/spider.htm)
cURL on Mac OS X / Darwin PPC (public)

curl/7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7b zlib/1.2.2
GameSpy HTTP (GameSpy)

GameSpyHTTP/1.0
Gigabot
(Gigablast)

Gigabot/2.0
Googlebot
(Google)

Googlebot/2.1 (+http://www.google.com/bot.html)
Googlebot alternate Mozilla/5.0 (compatible; googlebot/2.1; +http://www.google.com/bot.html)
Googlebot-Image
(Google)

Googlebot-Image/1.0
Grub
(usage: public)
(owner: LookSmart)

Mozilla/4.0 (compatible; grub-client-1.4.3; Crawl your own stuff with http://grub.org) Mozilla/4.0 (compatible; grub-client-2.3)
Inktomi Slurp
(superseded by Yahoo! Slurp)

Mozilla/3.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)
msnbot
(Microsoft's MSN Search)

msnbot/1.0 (+http://search.msn.com/msnbot.htm)
Scooter (AltaVista)

Scooter-3.2.EX
W3C Validator

W3C_Validator/1.432.2.10
W3C CSS Validator

Jigsaw/2.2.5 W3C_CSS_Validator_JFouffa/2.0
wget
(public)
Wget/1.9
Yahoo! Slurp
(Yahoo! Search)

Mozilla/5.0 (compatible; Yahoo! Slurp;http://help.yahoo.com/help/us/ysearch/slurp)
Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
Yahoo!-MMCrawler
(Yahoo! Search)

Yahoo!-MMCrawler/3.x (mms dash mmcrawler dash support at yahoo dash inc dot com)

Some common user agent strings dissected

  1. redirect

Internet Explorer

Version 1.0

Microsoft Internet Explorer/Version (Platform)
Where:
  • Version: Windows version because IE was originally supposed to be included with Windows 95, e.g.: 4.0b1 for Internet Explorer 1.0 beta
  • Platform: operating system, e.g.: Windows 95

Version 1.5 and up

Mozilla/MozVer (compatible; MSIE IEVer[; Provider]; Platform[; Extension]*) [Addition]
Where:
  • MozVer: Netscape compatibility version
  • * 1.22: Internet Explorer 1.5 and 2.0
  • * 2.0: Internet Explorer 3.x for Windows and Internet Explorer 2.1 for Mac
  • * 3.0: Internet Explorer 3.x for Mac
  • * 4.0: Internet Explorer 4.x and higher
  • IEVer: Internet Explorer version number, e.g.: 1.5, 3.01, 5.0b1
  • Provider: Access provider, e.g.:
  • * AOL Version
  • * CS 2000
  • Platform: Operating system
  • * Windows 3.1 (including Windows NT 3.x)
  • * Windows 95
  • * Windows 98
  • * Windows 98; Win 9x 4.90: Windows Millennium Edition (Windows Me)
  • * Windows NT
  • * Windows NT 4.0
  • * Windows NT 5.0: Windows 2000
  • * Windows NT 5.01: Windows 2000, Service Pack 1 (SP1)
  • * Windows NT 5.1: Windows XP
  • * Windows NT 5.2: Windows Server 2003
  • * Windows NT 6.0: Windows Vista
  • * Windows CE: Windows CE and Windows Mobile
  • * Mac_68000
  • * Mac_PPC: Used up until IE 4.x
  • * Mac_PowerPC Used from IE 5.x and up
  • Extension: optional, a list of semicolon-separated extensions installed, e.g.:
  • * .NET CLR Version: .NET Framework common language runtime installed
  • * SV1: Internet Explorer 6 in Windows XP SP2 and Windows Server 2003 SP1 installed
  • * PPC: Pocket PC
  • * Tablet PC Version: Tablet services are installed
  • * Win64: 64-bit Windows
  • * IA64: Intel Itanium processor
  • * AMD64: x64 processor
  • * x64: x64 processor
  • * WOW64: 32-bit Internet Explorer is running on 64-bit Windows
  • * Media Center PC Version: Windows MCE, where Version is:
  • ** 2.8: Media Center 2004
  • ** 3.0: Media Center 2005
  • ** 3.1: Media Center 2005 with update rollup 1
  • ** 4.0: Media Center 2005 with update rollup 2
  • * MediaCenter Version: browsing from within Media Center interface
  • * MSIECrawler: MSIE retrieving pages for Offline Content feature
  • * Various 3rd party extensions, like: (R1 Version) (RealPlayer webbrowser), Alexa Toolbar, Maxthon, Crazy Browser Version, MyIE2, Avant Browser [avantbrowser.com]
  • Addition
  • * Netscape/Version: Netscape using MSHTML rendering engine

Netscape

This only applies to earlier versions of Netscape. Netscape 6.0 or higher based on the Gecko engine should see the Mozilla section below

Mozilla/Version[Gold] [[Language]][Provider] (Platform; Security[; SubPlatform][StandAlone])
Where:
  • Version: version number
  • Gold: includes HTML editor
  • Language: standarized two-letter language identifier, e.g.: en, fr, es (Netscape 2.x and 3.x: only for non-english versions, Netscape 4.x: not on Macintosh platforms?)
  • Provider, may contain variants of C-CCK-MCD ([Client Customization Kit and Mission Control Desktop], for ISPs and OEMs)
  • Platform
  • * Win16: Windows 3.x
  • * Win95: Windows 95, where SubPlatform can be:
  • ** 16bit for 16-bit version of Netscape
  • * Win98: Windows 98
  • * WinNT: Windows NT 3.x
  • * Windows NT 5.0: Windows 2000
  • * Windows NT 5.1: Windows XP
  • * X11, where SubPlatform is:
  • ** Distribution Version [Subversion], e.g.: Linux i586, SunOS 5.6 sun4u, IRIX 6.5 IP32
  • * Macintosh, where SubPlatform is:
  • ** 68K
  • ** PPC
  • Security
  • * U: strong security (USA)
  • * I: weak security (International)
  • * N: no security
  • StandAlone: standalone Navigator is indicated by ; Nav (X11 platforms), ;Nav (Windows, note missing space) or , Nav (on Macintosh), only for version 4.x

Mozilla

Mozilla/MozVer (Platform; Security; SubPlatform; Language; rv:Revision[; Extension]*) Gecko/GeckVer [Product/ProdVer]
Where:
  • MozVer: Netscape compatibility version
  • * 5.0 for all known Mozilla browsers
  • Platform and SubPlatform
  • * Windows
  • ** Win3.11: Windows 3.11
  • ** Win95: Windows 95
  • ** Win98: Windows 98
  • ** Win 9x 4.90: Windows Me
  • ** WinNT3.51: Windows NT 3.51
  • ** WinNT4.0: Windows NT 4.0
  • ** Windows NT 5.0: Windows 2000
  • ** Windows NT 5.1: Windows XP (except XP Professional x64 Edition)
  • ** Windows NT 5.2: Windows Server 2003 and Windows XP Professional x64 Edition
  • ** Windows NT 6.0: Windows Vista
  • ** Windows CE 4.21: Windows Mobile 2003
  • * Macintosh
  • ** PPC Mac OS X
  • ** PPC Mac OS X Mach-O
  • ** Intel Mac OS X
  • * X11
  • ** Linux [Version] Hardware
  • ** FreeBSD Hardware
  • ** NetBSD Hardware
  • ** SunOS sun4u
  • Security
  • * U: strong security (USA)
  • * I: weak security (International)
  • * N: no security
  • Language: standarized language identifier, e.g.: en, en-US, en-GB
  • Revision: e.g. m18, 1.0rc3, 1.7.8, 1.8a2
  • Extension
  • * MultiZilla Version
  • GeckVer: Gecko (layout engine) compilation date, in the format YYYYMMDD
  • Product
  • * For the Mozilla Application Suite, there is no Product or ProdVer. The Revision is the product version.
  • * Netscape, Netscape6
  • * Phoenix, Firebird, Firefox
  • * K-Meleon
  • * Minimo
  • * SeaMonkey
  • * Camino
  • * CS 2000 7.0
  • ProdVer: Product version

Encryption strength \"U\" / \"I\" / \"N\"

Netscape, Mozilla, Opera and some others use one of these three letters to specify the browser's encryption strength. Since the US government wouldn't allow encryption higher than 40-bit to be exported from the USA, different versions were released with different encryption strengths. "U" stands for "USA" (for the version with 128-bit encryption), "I" stands for "International" (the browser has 40-bit encryption and can be used anywhere in the world), "N" stands for "None" (no encryption). Originally the "U" version was allowed for download only from the USA, but since then the US government has loosened its policy and exporting high encryption is now permitted to most countries (see Export of cryptography for more information). Now Netscape and Mozilla distribute their browsers only in a "U" version, since an international version is no longer required.

See also

External links

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: