浏览器内核的核心部分:Rendering Engine 渲染引擎
渲染引擎决定了浏览器如何显示网页以及网页的格式信息,解析网页语法(HTML、JS)并渲染
不同的浏览器内核对网页编写语法的解释不同,这就需要网页编写者需要在不同的内核浏览器中测试网页的显示效果。
下面是浏览器内核的分类
(1)Trident(IE内核)
是微软的Windows搭载的网页浏览器--Internet Explorer 浏览器使用的内核(俗称ie内核)。
(2)Gecko
Gecko是开放源代码,以C++编写的网页版引擎,目前被Mozilla家族网页浏览器以及Netscape以后版本浏览器所使用。 由于Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,采用Gecko内核的浏览器也很多,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。 Gecko排版引擎提供了一个丰富的程序界面以供与互联网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等。
(3)Presto
Presto 是一个由Opera Software 开发的浏览器排版引擎,渲染速度的优化达到极致,牺牲了网页的兼容性。Proesto 实际上是一个动态内核,页面的全部或部分都能够在回应脚本事件时等情况下被重新解释。此外该内核在执行JavaScript时有着最快的速度。
(4)WebKit
webkit是一个开放源代码的浏览器引擎(Web Browser Engine)
WebKit也是自由软件,同时开放源代码。 除了Safari浏览器,Mac下还有OmniWeb、Shiira等人气很高的浏览器。Google的chrome也使用WebKit作为内核。
浏览器解析网页的过程
1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的;
2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完);
3. 在下载过程中,如果遇到某一标签是嵌入文件,并且文件是具有语义解释性的(例如:JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载,并且在下载后进行解析,解析(JS、CSS中如有重定义,后定义函数将覆盖前定义函数)过程中,停止页面所有往下元素的下载;
4. 样式表文件比较特殊,在其下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行样式渲染。并以此方式一直渲染下去,直到整个页面渲染完成。