浏览器的高层结构通常有如下的部分:
主要有地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的用户请求浏览的APP外,其他可见的部分都称为用户界面,相信广大的东花市APP开发者都非常熟悉这部分。
浏览器引擎主要在用户界面和呈现引擎间的指令传送。呈现引擎,当然就是“呈现”了,主要负责显示请求浏览的APP内容。比如如果用户请求浏览的是HTML,那么就由它来解析HTML和CSS代码,最后将解析后的信息在浏览器上显示.通常,呈现引擎可以显示HTML和XMLAPP文档和图片。通过插件,还可以显示其它类型的内容;例如,使用PDF查看器插件就能显示PDF文档。
浏览器是基于两种呈现引擎构建的。Firefox使用的是Gecko,这是Mozilla公司“自制”的呈现引擎。而Safari和Chrome浏览器使用的都是Webkit。Webkit是一种开放源代码呈现引擎,起初用于Linux平台,随后由Apple公司进行修改,从而支持苹果机和Windows。有关详情,请参阅webkit.org。
用于网络调用,比如HTTP请求。其接口与平台无关,并为所有平台提供底层实现。
用户界面后端主要用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与平台无关的通用接口,而在底层使用操作系统的用户界面方法。
这是持久层。浏览器需要在硬盘上保存各种数据,例如Cookie。新的HTML规范定义了“网络数据库”,这是一个完整的浏览器内数据库。