正文

Internet Explorer体系结构(1)

IE8 & 9开发实战:基于下一代IE的应用开发 作者:(美)克罗利


  

Internet Explorer (IE)不只是一个Web浏览器,它还是一个非常广阔的平台,为Windows提供了一些必要的组件,用于将Web服务和和桌面应用程序集成在一起。它的复杂体系结构和扩展性,以及大量依赖它的应用程序,都反映了这一点。

本章将会从整体上概述IE的内部与外部组成,介绍浏览器及其库的体系结构,并为后面详细讨论主要功能区以及使用公开界面进行开发等奠定信息基础。

1.1  应用程序体系结构和相关项

IE由一个浏览器应用程序和一系列库组成,这些库通过基于COM的体系结构联系在一起。这些二进制文件只能供Windows平台使用,从IE 8开始,能够在所支持系统的x86、x64和IA-64体系结构上使用。IE 8可供Windows XP SP2及更高版本和Windows Server 2003及更高版本使用。

IE浏览器是可执行文件、库及资源的一个松散集合,它们通过大量用于控制联网、文档托管、扩展性和标记处理的库函数,提供了一个用户界面(UI)和安全基础结构。例如,Trident库(mshtml.dll)控制网页的分析、布局、呈现和显示。URL Moniker库(urlmon.dll)封装Windows联网API,为IE提供基础通信、安全性和下载基础结构。外壳文档查看(shdocvw.dll)提供了WebBrowser控件,它是一个得到广泛应用的库,将IE功能与独立应用程序集成在一起。

IE依赖于由Windows和其他微软产品提供的大量界面和API。Windows相关项包括:使用WinINET进行缓存与cookie处理、通过Windows RSS平台实现源的组织与管理,以及通过“强制完整性控制(MIC)”和“凭据用户界面”来提供账户完整性保护。除了Windows API,IE还使用其他微软库,例如脚本引擎(JScript和VBScript)。

在Windows Vista及更高版本中,IE实现了一组特殊的安全性API,这些API针对权限与数据访问,在进程之间进行了明确隔离。诸如“保护模式”和“松耦合Internet Explorer”等IE功能实现了上述基础结构,提高了浏览器的整体安全性、可靠性和效能。

IE的一般体系结构(如图1-1所示)由一些可执行文件和DLL组成:

框架/代理进程(iexplore.exe,ieframe.dll):这些进程用于控制IE的用户界面(浏览器“框架”),控制对象通信和管理会话。

选项卡进程(iexplore.exe):IE的选项卡管理器和容器,用于显示网页和扩展。这一进程受IE框架/代理进程的控制。

外壳文档视图/ShDocVw(shdocvw.dll):MSHTML和其他OLE活动文档(文档对象)的“活动文档容器”。这个库还公开了WebBrowser控件。

Trident/MSHTML(mshtml.dll):一个代表IE布局、呈现和编辑引擎的“OLE活动文档”对象。IE就是用它来显示网页。

URLMon(urlmon.dll):URL Moniker库;用于封装Windows联网API,并为IE提供基础安全性和下载管理。

WinINET(wininet.dll):负责Web协议通信、响应缓存和cookie的Windows库。

源存储(msfeeds.dll):Windows RSS平台API;由IE的RSS和ATOM 源阅读器使用,以通过Windows“通用源列表”打开、显示和管理源。

高完整性代理(ieinstal.exe),ActiveX Installer Service (axinstsv.exe):这些应用程序用来执行“高度完整性”操作(例如安装ActiveX控件)。

Internet设置控制面板(inetcpl.cpl):用于进行IE设置与配置的Windows控制面板界面。

HTML应用程序宿主(mshta.exe):WebBrowser控件的一种实现,它以最小化的用户界面来运行受信任的UI和脚本。

JScript和VBScript(jscript.dll,vbscript.dll):分别用于JavaScript和VBScript的主脚本引擎。

这个列表并没有包含IE的全部相关项和库,而只是列出了最重要的组件。在下面各章节中,将会更深入地研究IE、其相关项以及Windows系统之间的交互


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号