Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Internet Explorer
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Internet Explorer
(section)
Add topic