浏览器构成以及浏览器内核

参考链接:http://www.iplaysoft.com/browsers-engine.html ;http://www.iefans.net/liulanqi-neihe-jiexi/ ;

                      http://kb.cnblogs.com/page/129756;http://www.jianshu.com/p/df97d3b866d5

浏览器的主要构成:

1.用户界面

2.浏览器引擎(the browser engine)--- 用来查询及操作渲染引擎的接口;

3.渲染引擎(the  rendering engine)--- 显示请求的内容;

4.网络 --- 用来完成网络调用,例如 HTTP 请求;

5.UI 后端 --- 用来回执类似组合框以及对话框等基本组件;

6.JS 解释器 --- 解释执行JS 代码;

7.数据存储 --- 属于持久层 ,浏览器或许会在本地保存各种数据,比如cookie


   下图表示浏览器的主要组件:

浏览器构成以及浏览器内核_第1张图片


渲染引擎(rendering engine)

即浏览器内核,(发现有的讲 浏览器内核=渲染引擎+JS引擎....)

rendering engine   负责取得网页的内容(HTML, XML, 图片等),整理讯息(加入CSS),计算网页的显示方式,然后输出到显示器或打印机。

渲染主流程:

渲染引擎首先通过网络获得请求文档的内容,通常以8K分块的方式完成。

渲染引擎获取内容之后的基本流程:

解析 html 构建 DOM 树  --->构建render树 --->布局render树 ---> 绘制render树

浏览器构成以及浏览器内核_第2张图片

但是不同的浏览器内核对网页的语法解释不同,导致渲染效果也不同。(PS:浏览器渲染解析的过程,参考:http://www.cnblogs.com/cnwebdeveloper/articles/2234423.html 以及 http://www.jianshu.com/p/e141d1543143?utm_campaign=maleskine&utm_content=note&utm_medium=pc_author_hots&utm_source=recommendation----过程很详细)

主流浏览器内核有:

Trident 内核(windows):

即IE浏览器所用内核,Trident内核提供了丰富的调用接口,因此基于Trident内核的还有很多浏览器,比如360 安全浏览器,遨游,搜狗浏览器.....等等,其中部分浏览器的新版本是双核甚至多核,其中一个内核就是Trident,然后再增加一个其他内核。国内一般将其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”。

Gecko内核(跨平台):

最主流的Gecko内核浏览器是火狐浏览器,是开源的浏览器内核

KHTML内核(Linux):

KDE开发的内核,速度快捷,容错度低。常见的KHTML 内核浏览器:Konqueror。

WebKit内核(跨平台):

由KHTML衍生而来。是苹果公司自己的内核。Chromium内核,就是WebKit内核,但是其可读性更高。在Chrome 28 之前,Google使用Chromium内核与自己的javascript V8引擎。

Blink内核:

又Google 和 Opera Software 开发的浏览器排版引擎。2013年,Google计划将该渲染引擎作为Chromium计划的一部分。并且在Chrome(28以及后面的版本),Opera(15以及后面的版本)中使用。

Presto内核(跨平台):

是 Opera12.10 -- Opera7 中采用的内核,现已停止开发并废弃。Opera12.10 版本之后使用Blink 作为其内核。

由此可以看出,虽然浏览器很多,但是他们并非采用自主开发的内核,所以浏览器内核本身实际没有实质突破




你可能感兴趣的:(其他知识)