深入解析浏览器的幕后工作原理 呈现引擎

Posted 肥肥鱼与鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入解析浏览器的幕后工作原理 呈现引擎相关的知识,希望对你有一定的参考价值。

呈现引擎

  本文所讨论的浏览器(Firefox、Chrome 浏览器和 Safari)是基于两种呈现引擎构建的。Firefox 使用的是 Gecko,这是 Mozilla 公司“自制”的呈现引擎。而 Safari 和 Chrome 浏览器使用的都是 Webkit。

  Webkit 是一种开放源代码呈现引擎,起初用于 Linux 平台,随后由 Apple 公司进行修改,从而支持苹果机和 Windows。有关详情,请参阅 webkit.org。

主流程

  呈现引擎一开始会从网络层获取请求文档的内容,内容的大小一般限制在 8000 个块以内。

  然后进行如下所示的基本流程:



图:呈现引擎的基本流程。
 
  呈现引擎将开始解析 html 文档,并将各标记逐个转化成“内容树”上的 DOM 节点。同时也会解析外部 CSS 文件以及样式元素中的样式数据。HTML 中这些带有视觉指令的样式信息将用于创建另一个树结构:呈现树。

  呈现树包含多个带有视觉属性(如颜色和尺寸)的矩形。这些矩形的排列顺序就是它们将在屏幕上显示的顺序。

  呈现树构建完毕之后,进入“布局”处理阶段,也就是为每个节点分配一个应出现在屏幕上的确切坐标。下一个阶段是绘制 - 呈现引擎会遍历呈现树,由用户界面后端层将每个节点绘制出来。

  需要着重指出的是,这是一个渐进的过程。为达到更好的用户体验,呈现引擎会力求尽快将内容显示在屏幕上。它不必等到整个 HTML 文档解析完毕之后,就会开始构建呈现树和设置布局。在不断接收和处理来自网络的其余内容的同时,呈现引擎会将部分内容解析并显示出来。

 

以上是关于深入解析浏览器的幕后工作原理 呈现引擎的主要内容,如果未能解决你的问题,请参考以下文章

浏览器内核引擎页面呈现原理及其优化

浏览器的工作原理:新式网络浏览器幕后揭秘

浏览器的工作原理:新式网络浏览器幕后揭秘

浏览器渲染引擎工作原理

真棒!搜索引擎幕后技术大揭秘!

浏览器的工作原理:新式网络浏览器幕后揭秘