一.浏览器和浏览器内核

2019-03-11  本文已影响0人  5b5072cc2c5b

1.1 浏览器

1.1.1 浏览器简介

目前,对于桌面系统而言,已经形成微软IE,Mozilla火狐和Google Chrome三足鼎立的形势。
对于移动系统而言,由于苹果的ios和google的安卓系统占领了领先地位,因而这两个系统默认的safari浏览器和安卓浏览器变得非常流行。

1.1.2 浏览器的特性

目前浏览器主要包括网络、资源管理、网页浏览、多页面管理、插件和扩展、书签管理、历史记录管理、设置管理、下载管理、账户和同步、安全机制、隐私管理、外观主题、开发者工具、多操作系统支持等。
下面对它们中的一些重要功能详细介绍:

1.1.3 HTML

这里我们主要讲一下HTML5的一系列标准。
HTML5一共包含了10个大类别,它们是:

从html5test.com可以了解浏览器对html5的支持情况

1.1.4用户代理和浏览器行为

用户代理,其作用是表明浏览器的身份,因而互联网的内容供应商能够知道发送请求的浏览器身份,浏览器能够支持什么样的功能。因此,网页内容提供商可以为不同的浏览器发送不同的网页内容。例如:通常为chrome的桌面版和android版发送不同的网页内容以适应屏幕和操作系统的区别。
用户代理信息是浏览器向网站服务商发送HTTP请求消息头时加入的,这样,网站服务商就能很容易的了解对方的浏览器信息。


1.2浏览器内核及特性

1.2.1内核和主流内核
浏览器内核的主要作用是将页面转变为可视化(准确讲还有可听化)的图像结果。
通常浏览器内核也被成为渲染引擎。所谓的渲染引擎,就是根据描述或者定义构建数学模型,通过模型生成图像的过程。浏览器的渲染引擎就是能够将HTML/CSS/Javascript文本以及相应的资源文件转换为图像结果的模块,如图所示:

HTML/CSS/Javascript => 浏览器渲染引擎 => 图像

目前主流的渲染引擎有Trident, Gecko, Webkit,他们分别是IE,火狐和Chrome的内核。这一对应让人感觉好像渲染引擎和浏览器是一一对应的,其实不然。事实上,同一个渲染引擎可以被多个浏览器所采用。
1.2.2 内核特征
一个渲染引擎主要包括HTML解释器,CSS解释器,布局,Javascript引擎,绘图和网络等。
这些模块依赖许多其他的基础模块。这其中包括网络、存储、2D/3D图形、音频视频和图片解码器等。

下图将展示这些模块是如何一起工作,完成网页的渲染过程。


网页内容输入到HTML解释器,HTML解释器在解释后构成一棵DOM树,这期间如果遇到js代码,就交给js引擎处理,如果遇到css,就交给css解释器去处理。当DOM建立的时候,渲染引擎收到来自CSS解释器的样式信息,构建一个新的内部绘图模型。该模型由布局模块计算模型内部各个元素的位置和大小信息,最后由绘图模块完成从该模型到图像的绘制。

虚线表示在渲染过程中可能使用到的其他模块。

上一篇 下一篇

猜你喜欢

热点阅读