Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Internet Explorer
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Architecture== [[File:IExplore.svg|thumb|right|The architecture of IE8. Previous versions had a similar architecture, except that both tabs and the UI were within the same process. Consequently, each browser window could have only one "tab process".]] Internet Explorer uses a [[software componentry|componentized]] architecture built on the [[Component Object Model]] (COM) technology. It consists of several major components, each of which is contained in a separate [[dynamic-link library]] (DLL) and exposes a set of COM [[interface (computing)|programming interfaces]] hosted by the Internet Explorer main executable, {{samp|iexplore.exe}}:<ref name="architecture">{{cite web|url = http://msdn2.microsoft.com/en-us/library/aa741312.aspx |title = Internet Explorer Architecture | publisher = [[MSDN]] |access-date = January 10, 2007}}</ref> * {{samp|WinInet.dll}} is the protocol handler for [[HTTP]], [[HTTPS]], and [[FTP]]. It handles all network communication over these protocols. * {{samp|URLMon.dll}} is responsible for MIME-type handling and download of web content, and provides a thread-safe wrapper around WinInet.dll and other protocol implementations. * {{samp|MSHTML.dll}} houses the [[MSHTML]] (Trident) [[browser engine]] introduced in Internet Explorer 4, which is responsible for displaying the pages on-screen and handling the [[Document Object Model]] (DOM) of the web pages. MSHTML.dll parses the HTML/CSS file and creates the internal DOM tree representation of it. It also exposes a set of [[API]]s for runtime inspection and modification of the DOM tree. The DOM tree is further processed by a browser engine which then renders the internal representation on screen. * {{samp|IEFrame.dll}} contains the user interface and window of IE in Internet Explorer 7 and above. * {{samp|ShDocVw.dll}} provides the navigation, local caching and history functionalities for the browser. * {{samp|BrowseUI.dll}} is responsible for rendering the browser user interface such as menus and toolbars.<ref>{{cite web| first = Chris |last = Wilson | publisher = MSDN Channel9 | access-date = March 7, 2008 | url = http://channel9.msdn.com/Showpost.aspx?postid=388331 | title = Inside IE8 Beta 1 for Developers}}</ref> [[File:Acid3 test, Firefox 124.0.1 and IE11.png|thumb|Internet Explorer compared to [[Firefox]] on the [[Acid3]] HTML rendering test]] Internet Explorer does not include any native scripting functionality. Rather, {{samp|MSHTML.dll}} exposes an API that permits a programmer to develop a scripting environment to be plugged-in and to access the DOM tree. Internet Explorer 8 includes the bindings for the [[Active Scripting]] engine, which is a part of [[Microsoft Windows]] and allows any language implemented as an Active Scripting module to be used for client-side scripting. By default, only the JScript and [[VBScript]] modules are provided; third party implementations like [[ScreamingMonkey]] (for ECMAScript 4 support) can also be used. Microsoft also makes available the [[Microsoft Silverlight]] runtime that allows [[CLI languages]], including [[Dynamic Language Runtime|DLR]]-based dynamic languages like [[IronPython]] and [[IronRuby]], to be used for client-side scripting. Internet Explorer 8 introduced some major architectural changes, called ''loosely coupled IE'' (LCIE). LCIE separates the main window process (frame process) from the processes hosting the different web applications in different tabs (tab processes). A frame process can create multiple tab processes, each of which can be of a different [[Mandatory Integrity Control|integrity level]], each tab process can host multiple web sites. The processes use asynchronous [[inter-process communication]] to synchronize themselves. Generally, there will be a single frame process for all web sites. In [[Windows Vista]] with protected mode turned on, however, opening privileged content (such as local HTML pages) will create a new tab process as it will not be constrained by protected mode.<ref>{{cite web|url=https://blogs.msdn.microsoft.com/ie/2008/03/11/ie8-and-loosely-coupled-ie-lcie/|title=IE8 and Loosely Coupled IE|last=Zeigler|first=Andy|date=March 11, 2008|website=[[Microsoft Developer Network]]|publisher=[[Microsoft]]|access-date=April 20, 2019}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)