网页的渲染机制

目前,主要的web浏览器有 Internet Explorer,Firefox,Safari,Chrome和Opera。根据W3C浏览器统计,开源浏览器Firefox,Safari和Chrome的使用率最多,其中Chrome占了70%多。下面主要讲这三种浏览器渲染引擎的渲染过程。
渲染引擎
渲染引擎的作用是在浏览器的窗口上显示所请求的内容。默认情况下,渲染引擎可以显示HTML和XML文档和图像。
Chrome和Safari都是基于webkit渲染引擎构建的;Firefox使用Gecko渲染引擎。
主要流程
渲染引擎将从网络层开始获取所请求文档的内容。渲染引擎的基本流程:


渲染引擎将开始解析HTML文档,并将标签转到称为“内容树”的树中的DOM节点。它将分析外部CSS文件和样式元素中的样式数据。样式信息以及HTML中的视觉指令将用于创建另一个树 - 渲染树。渲染树包含具有颜色和尺寸等视觉属性的矩形。矩形以正确的顺序显示在屏幕上。渲染树的构建之后,通过“ 布局”过程。这意味着给每个节点在屏幕上出现的确切坐标。下一个阶段是绘制- 渲染树将被遍历,每个节点将使用UI后端层进行绘制。

webkit渲染引擎的主流程:


  • 解析 HTML 标签, 构建 DOM 树
  • 解析 CSS 标签, 构建 CSSOM 树
  • 把 DOM 和 CSSOM 组合成 渲染树 (render tree)
  • 在渲染树的基础上进行布局, 计算每个节点的几何结构
  • 把每个节点绘制到屏幕上 (painting)

Gecko渲染引擎主流程:


Gecko 将视觉格式化元素组成的树称为“框架树”。每个元素都是一个框架。Webkit 使用的术语是“呈现树”,它由“呈现对象”组成。对于元素的放置,Webkit 使用的术语是“布局”,而 Gecko 称之为“重排”。对于连接 DOM 节点和可视化信息从而创建呈现树的过程,Webkit 使用的术语是“附加”。有一个细微的非语义差别,就是 Gecko 在 HTML 与 DOM 树之间还有一个称为“内容槽”的层,用于生成 DOM 元素。
参考文献:
How browsers work
前端文摘:深入解析浏览器的幕后工作原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 浏览器的主要功能 浏览器的主要功能是将用户选择的web资源呈现出来,它需要从服务器请求资源,并将其显示在浏览器窗口...
    yytyff阅读 270评论 0 0
  • 主流程 呈现引擎一开始会从网络层获取请求文档的内容,内容的大小一般限制在 8000 个块以内。然后进行如下所示的基...
    饥人谷_adoreu阅读 275评论 0 0
  • 网页渲染必须在很早的阶段进行,可以早到页面布局刚刚定型。因为样式和脚本都会对网页渲染产生关键性的影响。所以专业开发...
    湖衣阅读 344评论 0 0
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 3,316评论 0 7
  • 家里,应该是说农村老家,老家呢还有一个80岁的奶奶,奶奶呢现在年纪大了,爷爷去世的早,现在是奶奶一个人住,奶奶有风...
    9哥陈林阅读 3,444评论 0 0