我们要讨论的浏览器
目前使用的主流浏览器有五个:Internet Explorer、Firefox、Safari、Chrome 浏览器和 Opera。本文中以开放源代码浏览器为例,即Firefox、Chrome 浏览器和 Safari(部分开源)。根据StatCounter 浏览器统计数据,目前(2011 年8月)Firefox、Safari 和Chrome 浏览器的总市场占有率将近 60%。由此可见,如今开放源代码浏览器在浏览器市场中占据了非常坚实的部分。
浏览器的主要功能
浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您选择的网络资源。这里所说的资源一般是指 HTML 文档,也可以是 PDF、图片或其他的类型。资源的位置由用户使用 URI(统一资源标示符)指定。
浏览器解释并显示 HTML 文件的方式是在 HTML 和CSS 规范中指定的。这些规范由网络标准化组织W3C(万维网联盟)进行维护。
多年以来,各浏览器都没有完全遵从这些规范,同时还在开发自己独有的扩展程序,这给网络开发人员带来了严重的兼容性问题。如今,大多数的浏览器都是或多或少地遵从规范。
浏览器的用户界面有很多彼此相同的元素,其中包括:
用来输入 URI 的地址栏前进和后退按钮书签设置选项用于刷新和停止加载当前文档的刷新和停止按钮用于返回主页的主页按钮
奇怪的是,浏览器的用户界面并没有任何正式的规范,这是多年来的最佳实践自然发展以及彼此之间相互模仿的结果。HTML5 也没有定义浏览器必须具有的用户界面元素,但列出了一些通用的元素,例如地址栏、状态栏和工具栏等。当然,各浏览器也可以有自己独特的功能,比如 Firefox 的下载管理器。
浏览器的高层结构
浏览器的主要组件为 (1.1):
用户界面- 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的您请求的页面外,其他显示的各个部分都属于用户界面。浏览器引擎- 在用户界面和呈现引擎之间传送指令。呈现引擎- 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和CSS 内容,并将解析后的内容显示在屏幕上。网络- 用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。用户界面后端- 用于绘制基本的窗口小部件,比如组合框和窗口