«

»

浏览器是如何工作的

浏览器 原理因特网浏览器可能是使用最广泛的软件了。在本文中我将解释下在幕后它们是怎么工作的。我们会看看从你在地址栏里键入“google.com”开始,一直到你看到浏览器屏幕上出现谷歌页面时都发生了什么。现代浏览器的组成结构跟工作原理相当复杂,因此我会写一系列的文章来描述这些结构的细节,并阐述每个组成部份的工作原理,以及最后这些部份如何串联起来,把一个精美的网页呈现在人们面前。

我们要谈到的浏览器

今天使用的有5种主要浏览器— Internet Explorer,Firefox,Safari,Chrome和Opera。

我会给出开源浏览器的例子—Firefox,Chrome和Safari,它是部份开源的。

根据W3C的浏览器统计,当前(2009年10月),Firefox,Safari和Chrome一起占据了将近60%的市场。

因此今天开源浏览器在浏览器市场是个举足轻重的组成部份。

浏览器的主要功能

浏览器的主要功能是,通过从服务器请求内容并且把它显示在浏览器窗口里,展现你选择的因特网资源。资源的格式通常是HTML,但也有PDF,图片以及其它格式。资源位置通过使用一个URI(统一资源定位符)指定。我们会在网络一章里详细讨论。

浏览器解释和显示HTML文件的方式在HTML和CSS规范里指定。这些规范由W3C组织(世界万维网联盟)维护,这是因特网的标准化组织。

当前HTML版本是4(http://www.w3.org/TR/html401/)。版本5正在制订中。当前CSS版本是2(http://www.w3.org/TR/CSS2/),版本3也在制订当中。

多年以来,浏览器只遵循标准的一部份,并且开发它们自己的扩展。这给网页开发者带来了严重的兼容性问题。今天大多数浏览器或多或少的符合规范。

浏览器用户界面之间有很多共同之处。通用的用户界面元素有:

输入URI的地址栏

后退和前进按钮

书签选项

用于刷新和停止当前文档加载的刷新和停止按钮

能让你返回首页的的主页按钮

实在奇怪的是,没有任何正式规范指定浏览器用户界面,它的形成来自于成年累月的用户体验实践,以及浏览器间的相互借鉴。

HTML5规范也没有定义一个浏览器必须有的UI元素,但列出了一些通用元素。其中有地址栏,状态条和工具条。更多的见用户界面一章。

浏览器的高层结构

浏览器的主要组件有(1.1):

1 用户界面—包括地址栏,后退/前进按钮,书签菜单等等。浏览器的每个组成部份显示的就是你看到的请求页面主窗口之外的部份。

2 浏览器引擎—查询和操作渲染引擎的接口。

3 渲染引擎—负责显示请求到的内容。例如请求到的内容是HTML,它就负责处理HTML和CSS并把处理后的内容显示在屏幕上。

4 网络—供网络调用使用,象HTTP请求。它有平台无关的接口和每个平台下的实现。

5 UI后端—用于绘制基本的小工具象组合框和窗口。它展现的是非平台相关的通用界面。在它下层使用了平台用户界面方法。

6 JavaScript解释器—用于处理和执行JavaScript代码。

7 数据存储—这是一个持久化层。浏览器需要保存所有种类的数据到硬盘上。例如,cookie。新的HTML规范(HTML5)定义了“因特网数据库”,它是一个完整的(尽管轻量)浏览器里的数据库。

浏览器是如何工作的

需要着重指出的是,Chrome,不象大多数浏览器,它有多个渲染引擎实例–每个选项卡一个,每个选项卡是个独立的进程。

我会为每个组成部份写一章。

组件间的通讯

Firefox和Chrome两者都开发了特殊的通讯架构。

我将会在某个章节讨论它。

(待续)

1 星2 星3 星4 星5 星 (尚无评分)
Loading...Loading...

相关文章

浏览器中元素的定位类型 网页中元素的定位用由position属性确定,分为绝对定位,相对定位。除此之外还有浮动定位。position的取...
浏览器中CSS的盒模型 首先是CSS中画布的概念,根据CSS2规范,名词“画布”描述为“格式化的结构渲染所用的空间”---也就是浏览器...
浏览器的绘制阶段 在浏览器的绘制阶段,会遍历渲染者树,并调用渲染者的“paint”方法在屏幕上显示内容。绘制需要用到UI基础...
浏览器的布局 下来就是浏览器的布局过程。当渲染者被创建并且增加到树上时,它并没有位置和尺寸。计算这些值被称为布...
浏览器样式表的规则匹配和级联顺序 浏览器中CSS样式的匹配并非总是那么简单,某些情况下可能需要对规则加以处理以使匹配更容易。下面是几个...
浏览器中使用规则树来计算样式 当计算某个元素的样式内容时,我们首先计算规则树里的一条路径或是使用一条已经存在的路径。接下来就开...
浏览器的样式计算 建立渲染树时需要计算每个渲染对象的可视化属性。这是通过计算每个元素的样式属性来实现的。样式包含HTM...
浏览器中渲染树的构造 当DOM树被构造的同时,浏览器构造了另外一棵树,渲染树。这是棵按其显示顺序排列的可视化元素构成的树。...

发表评论

电子邮件地址不会被公开。