Browser Changes from Internet Explorer 6 to Internet Explorer 8

Applies To: Windows 7

To help navigate the range of web application compatibility issues that may influence an organization, this document classifies compatibility into four major areas (not in order of incidence or ranking of priority), as shown in the table below:

  Changes from Internet Explorer 6 to Internet Explorer 7 Changes from Internet Explorer 7 to Internet Explorer 8

Versioning

  • Version Vectors

  • User Agent String

  • Version Vectors

  • User Agent String

Standards

  • HTML 4.01 improvements

  • CSS 2.1 improvements

  • Additional HTML 4.01 improvements

  • Full CSS 2.1 compliance

  • Some HTML 5.0 support

  • ECMAScript 3rd edition support and some ECMAScript 5th edition support (including native JSON)

Security

  • HTTPS improvements

  • More secure scripting

  • Protected Mode (Windows Vista® and later)

  • Better protection from malware

    • DEP/NX & XSS filter on by default

    • HTTP/HTTPS mixed mode

  • AJAX more secure

Architecture

  • Loosely Coupled Internet Explorer

Versioning

One of the most common application compatibility issues experienced with new versions of Internet Explorer is associated with User Agent (UA) Strings and Version Vectors. As with new browser versions from every vendor, Internet Explorer 8 introduces a new UA String as a mechanism for applications to detect which version users are running. In addition to simply increasing the value associated with Internet Explorer (MSIE) in the UA String, Internet Explorer 8 adds a value (Trident/4.0) to help detect if Internet Explorer 8 is running using Compatibility View mode. These changes combined with hardcoded version checks can potentially introduce compatibility issues between browsers.

Standards

Internet Explorer 8 contains an entirely new rendering and layout engine; Microsoft re-engineered the rendering and layout engines to remove some of the quirks of previous versions allowing for a full implementation of CSS 2.1 and additional web standards support. The impact of broader support of web standards in Internet Explorer 8 can result in some web applications failing to operate properly because they were not written in a standards-compliant manner. The level at which these applications may fail can vary widely – from simple design and layout issues that cause images or text to be displayed in a slightly different location, to entire applications rendering in a way that may make the application unusable.

In addition to the new layout and rendering engine, Internet Explorer 8 includes an improved JavaScript engine. This new scripting engine improves performance, supports new methods natively, and changes the way some functions operate to be more standards compliant and provides increased security. While the enhanced performance introduces no application compatibility issues, other changes can result in some web applications no longer functioning as expected.

For more information about issues related to JavaScript changes, see the following resources:

Security

Starting with Internet Explorer 7, Internet Explorer now runs in a security context called Protected Mode when run on Windows Vista or later. This runs Internet Explorer in a lower privilege setting than that of a standard user application. This means that certain functionality will be limited, especially for ActiveX controls and certain types of plug-ins.

Internet Explorer 8 also enables Data Execution Prevention (DEP) by default, which helps mitigate the potential for running arbitrary code in online attacks. However, add-ons not designed correctly to run only code located in memory that has been specifically marked as executable, such as some code built using older version of the ActiveX Template Library (ATL) framework, may not be compatible with this security feature. Internet Explorer 8 also protects against potential security vulnerabilities using scripts. For example, you are no longer able to navigate from a URL in a less trusted zone to a URL in a more trusted zone except through explicit user interaction, nor is it allowed to hide certain elements of the browser’s user interface (such as the address bar) in an un-trusted (Internet) zone.

For more information about Protected Mode IE and its impact on compatibility, see Understanding and Working in Protected Mode Internet Explorer.

Architecture

Loosely-coupled Internet Explorer (LCIE) is an architectural modification to improve the browser’s reliability by separating its components and loosening their interdependence; most notably, it is an attempt to isolate the Internet Explorer frame and its tabs into separate processes. In Internet Explorer 8, this isolation brings about improved performance and scalability. This architectural change may influence the compatibility of extensions and add-ons, including ActiveX Controls, Browser Helper Objects (BHOs), and UI Toolbar components that are built with older programming techniques.

To summarize, this document is geared toward organizations planning a migration to Internet Explorer 8 and Windows 7. Relevant information for previous versions of the browser is included where appropriate.

For a full list of browser changes from Internet Explorer 6 to Internet Explorer 8, see Appendix 3: Internet Explorer 6 to Internet Explorer 8 Browser Changes.