3. Internet explorer file architecture
 

Internet Explorer architecture

 

         IExplore.exe is at the top level, and is the Internet Explorer executable.  It is a small application that relies on the other main components of Internet Explorer to do the work of rendering, navigation, protocol
implementation, and so on.

        Browsui.dll provides the user interface to Internet Explorer. Often referred to as the "chrome," this dynamic-link library (DLL) includes the Internet Explorer address bar, status bar, menus, and so on.

         Shdocvw.dll provides functionality such as navigation and history, and is commonly referred to as the Web Browser control. This DLL exposes ActiveX  Control interfaces, enabling you to easily host the DLL in a Microsoft Windows application using frameworks such as Microsoft Visual Basic, Microsoft Foundation Classes (MFC), Active Template Library (ATL), or Microsoft .NET Windows Forms. When your application hosts the Web Browser control, it obtains all the functionality of Internet Explorer except for
the user interface provided by Browseui.dll. This means that you will need to provide your own implementations of toolbars and menus

           Mshtml.dll is at the heart of Internet Explorer and takes care of its HTML  and Cascading Style Sheets (CSS) parsing and rendering functionality. Mshtml.dll is sometimes referred to by its code name, "Trident". Mshtml.dll exposes interfaces that enable you to host it as an active document. Other
applications such as Microsoft Word, Microsoft Excel, Microsoft Visio, and many non-Microsoft applications also expose active document interfaces so they can be hosted by shdocvw.dll. For example, when a user browses from an HTML page to a Word document, mshtml.dll is swapped out for the DLL provided by Word, which then renders that document type. Mshtml.dll may be called upon to host other components depending on the HTML document's content, such as scripting engines (for example, Microsoft JScript or Visual Basic Scripting Edition (VBScript)), ActiveX controls, Extensible Markup Language (XML) data, and so on

             Urlmon.dll offers functionality for Multipurpose Internet Mail Extensions (MIME) handling and code download

            WinInet.dll is the Windows Internet Protocol handler. It implements the HTTP and File Transfer Protocol (FTP) protocols along with cache management