Internet Explorer 8 – User Agent String
The following information is useful to understand some of the issues related to IE 8 User-Agent String.
Affected Platforms
- Clients – Windows XP | Windows Vista | Windows 7
- Servers – Windows Server 2003 | Windows Server 2008 | Windows Server 2008 R2
Feature Impact
- Severity – Medium
- Frequency – High
Description
The User Agent String is the Internet Explorer identifier that provides data about its version and other attributes to Web servers. Many Web applications rely on, and piggyback on, the IE User Agent String. Those that do so and depend on an earlier version number will be impacted. The User Agent string now includes the string ‘Trident/4.0’ in order to allow differentiation between the Internet Explorer 7 User Agent String and the Internet Explorer 8 User Agent string when running in Internet Explorer 7 Compatibility View. See Understanding User Agent Strings link below for details.
Manifestation of Impact
There are two impacted areas:
- Web pages that explicitly check the User Agent String and do not support the Internet Explorer 8 User Agent String may not run properly. In the majority of cases, this means the pages will be block users from the content they are attempting to access or display incorrect or malformed content.
- Applications that host Trident (see Hosting and Reuse) will default to Internet Explorer 7 using the Web Optional Component, but will not have access to Internet Explorer 8 features.
Solution
Ensure that your applications properly handle the new ‘MSIE 8.0’ version in the User Agent String. You may also opt in to the Internet Explorer 7 Compatibility View for those applications based on Internet Explorer 7. This can be done with meta tags. See the discussion in Understanding User Agent Strings for details.
Compatibility, Performance, Reliability, and Usability Testing
- Run your applications and Web pages in an Internet Explorer 8 environment on Windows Vista or Windows XP to ensure that they behave in the desired manner.
- Alternatively, you can run the Internet Explorer Compatibility Test Tool (IECTT) provided with the Application Compatibility Toolkit (ACT) to locate any potential issues due to security feature updates.
Links to Other Resources
- Understanding User Agent Strings: http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
- User-Agent String and Version Vector: http://code.msdn.microsoft.com/ie8whitepapers/Release/ProjectReleases.aspx?ReleaseId=531
- Hosting and Reuse: http://msdn.microsoft.com/en-us/library/aa752038(VS.85).aspx
- Known Internet Explorer Security Feature Issues: http://technet.microsoft.com/en-us/library/cc722079.aspx
How to View the User-Agent String
To view your browser’s user-agent string, type the following case-sensitive command into the address bar.
javascript:alert(navigator.userAgent)
Internet Explorer User-Agent Tokens
The following tokens are used by recent versions of Internet Explorer, which places three tokens in the user-agent string by default.
- Version tokens
- Platform tokens
- Feature tokens
The following information pertains to the version and the platform tokens. In general, version tokens begin with MSIE and are followed by the version number of the browser. Many pre-release versions append the letter “b” to the version number. The following table lists the version tokens used in recent versions of Internet Explorer.
Version token | Description |
---|---|
MSIE 8.0 | Internet Explorer 8 (pre-release) |
MSIE 7.0 | Internet Explorer 7 |
MSIE 7.0b | Internet Explorer 7 (Beta 1 pre-release only) |
MSIE 6.0 | Microsoft Internet Explorer 6 |
MSIE 6.0b | Internet Explorer 6 (pre-release) |
MSIE 5.5 | Internet Explorer 5.5 |
MSIE 5.01 | Internet Explorer 5.01 |
MSIE 5.0 | Internet Explorer 5 |
MSIE 5.0b1 | Internet Explorer 5 (pre-release) |
MSIE 4.01 | Internet Explorer 4.01 |
Platform tokens describe your operating system. The following table lists Internet Explorer platform tokens for the last several versions of Windows.
Platform token | Description |
---|---|
Windows NT 6.0 | Windows Vista |
Windows NT 5.2 | Windows Server 2003; Windows XP x64 Edition |
Windows NT 5.1 | Windows XP |
Windows NT 5.01 | Windows 2000, Service Pack 1 (SP1) |
Windows NT 5.0 | Windows 2000 |
Windows NT 4.0 | Microsoft Windows NT 4.0 |
Windows 98; Win 9x 4.90 | Windows Millennium Edition (Windows Me) |
Windows 98 | Windows 98 |
Windows 95 | Windows 95 |
Windows CE | Windows CE |
(Source: Microsoft TechNet)