第一章 浏览器和浏览器内核

webkit技术内幕

1. 技术内幕

  1. 渲染:根据描述或定义构建数学模型,通过模型生成图像的过程。

浏览器的渲染引擎就是将HTML/CSS/JavaScript文本及其相应的资源文件转换成图像结果的模块。

  1. 主流的渲染引擎包括Trident、Gecko和WebKit,它们分别是IE、火狐和Chrome的内核。
Trident Gecko WebKit
基于渲染引擎的浏览器或者Web平台 IE Firefox Safari,Chromium/Chrome,Android浏览器,ChromeOS,webOS
  1. 渲染引擎提供的功能包括:
  • HTML解释器

将HTML文本解释成DOM树。

  • CSS解释器

为DOM中的各个元素对象计算出样式信息,从而为计算最后网页的布局提供基础设施。

  • 布局(layout)

在DOM创建之后,Webkit需要将其中的元素对象同样式信息结合起来,计算它们的大小位置等布局信息,形成一个能够表示这所有信息的内部表示模型。

  • JavaScript引擎

JavaScript引擎能够解释JavaScript代码并通过DOM接口和CSSOM接口来修改网页内容和样式信息,从而改变渲染的结果。

  • 绘图

使用图形库将布局计算后的各个网页的节点绘制成图像结果。

  1. 浏览器渲染网页过程


    渲染过程.png

根据上图从左到右的顺序,首先网页内容输入到HTML解释器,HTML解释器在解释它后构建成一棵DOM树,这期间如果遇到JavaScript代码则交给JavaScript引擎去处理;如果网页中包含CSS,则交给CSS解释器去解释。当DOM建立的时候,渲染引擎接收来自CSS解释器的样式信息,构建一个新的内部绘图模型。该模型交给布局模块计算模型内部各个元素的位置和大小信息,最后绘图模块完成从模型到图像的绘制。


其中虚线箭头的指向表示在渲染过程中,每个阶段可能使用到的其他模块。在网页内容下载的过程中,需要使用到网络和存储模。在计算布局和绘图的时候,需要使用2D/3D的图形模块,同时因为要生成最后的可视化结果,这时需要开始解码音频、视频和图片,同其他内容一起绘制到最后的图像中。


在渲染完成后,用户可能需要跟渲染的结果进行交互,或者网页自身有动画操作,一般而言,这需要持续的重复渲染过程。

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 1. 介绍 浏览器可能是最广泛使用的软件。本书将介绍浏览器的工作原理。我们将看到,当你在地址栏中输入google....
    康斌阅读 2,048评论 7 18
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 3,308评论 0 7
  • 仨电影有格里森,柏林孤影,刺客信条,夜色人生,老胖子虽有演技,但给钱就演。 俩电影有歌迪亚,黑暗骑士,刺客信条,印...
    晚霞消失之时阅读 286评论 0 0
  • 菜谱类应用小美推荐过不少,从接地气的下厨房,到有钱有闲的厨房故事,每一款凝聚的那都是满满的爱呀!「焙刻」主打点心的...
    最美应用阅读 8,222评论 0 6