浏览器

浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您选择的网络资源。这里所说的资源一般是指 HTML 文档,也可以是 PDF、图片或其他的类型。资源的位置由用户使用 URI(统一资源标示符)指定。浏览器解释并显示 HTML 文件的方式是在 HTML 和 CSS 规范中指的。这些规范由网络标准化组织 W3C(万维网联盟)进行维护。多年以来,各浏览器都没有完全遵从这些规范,同时还在开发自己独有的扩展程序,这给网络开发人员带来了严重的兼容性问题。如今,大多数的浏览器都是或多或少地遵从规范。

常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。

浏览器内核

浏览器的内核是支持浏览器运行的最核心的程序,分为两个部分,一是渲染引擎(layout engineer 或者 Rendering Engine),另一个是JS引擎。

最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。

渲染引擎对网页语法进行解释并渲染网页,在不同的浏览器中效果不一定相同。

JS 引擎解析 Javascript 语言,执行 javascript语言来实现网页的动态效果。

常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。

1、Trident内核(又称为MSHTML)
微软开发的一种排版引擎。IE内核,闭源,且只能用于Windows平台。
Win10发布后,微软有了全新的浏览器Edge,使用了新的内核EdgeHTML(本质上不是对Trident的完全推翻重建,而是在Trident基础上删除了过时的旧技术支持的代码,扩展和优化了对新的技术的支持,所以被看做是全新的内核)
 
使用Trident渲染引擎的浏览器有:IE、傲游、世界之窗浏览器、Avant、腾讯TT、猎豹安全浏览器、360极速浏览器、百度浏览器等。
 
2、Gecko内核
用C++编写的网页排版引擎,开源内核,可跨平台。
代表作品为Mozilla Firefox。
 
3、WebKit内核
WebKit 前身是 KDE 小组的 KHTML 引擎,可以说 WebKit 是 KHTML 的一个开源的分支。
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来。
 
Safari浏览器内核:Webkit内核;KHTML->Webkit(WebCore+JSCore)->Webkit2
代表浏览器:Apple Safari (Win/Mac/iPhone/iPad)、Android 默认浏览器
 
 
4.Chromium/Blink
Chrome浏览器内核,开源。

chromium fork自webkit,代码可读性和编译速度得到提升。因此 Chromium 引擎和其它基于 WebKit 的引擎所渲染页面的效果也是有出入的。

值得一提是谷歌专门研发了自己的JS引擎——V8,极大地提高了JS的运算速度。(Node.js就是选用V8作为底层架构。)

Blink内核是由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。现在Chrome内核是Blink。

其实Blink引擎就是也就是Webkit的分支,就像Webkit是KHTML的分支一样。

Chrome浏览器内核:Chromium内核 → Webkit内核 → Blink内核;

5、Presto内核
代表作品Opera。已被弃用。
 
 
 
 

国内浏览器情况

总结国内厂商内核来看,一般为三类:

一、使用的Trident单核,如:2345、世界之窗;
二、使用Trident+Webkit/Blink双核,如:qq、UC、猎豹、360、百度;
三、使用Webkit/Blink单核,如:搜狗、遨游。

双核浏览器通过WebKit内核来访问一些不需要进行网上交易的网站,使用起来速度更快更方便;双核浏览器在进行支付系统或者是网上银行的访问时,则使用的是Trident内核。这就是双核浏览器的高速模式和兼容模式。双核浏览器是一个不仅仅具有ie浏览器内核同时兼容非ie浏览器内核的浏览器,可以让用户在浏览器当中体验不同的需求。

 
 

浏览器引擎列表

浏览器

 
 
参考: