浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。
最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有 10 多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。
Trident
通常所说的IE内核.是第一个开放的内核,国内许多浏览器都采用IE内核.但由于IE的垄断地位,导致更新缓慢,引起两个后果:1.曾经与w3c标准脱节,2.大量bug没有得到及时解决,导致一段时间里大量用户转向其他浏览器.
win10发布后,Ie新浏览器为Edge,采用的内核为EdgeHTML.
Gecko
firefox浏览器采用的内核.
特点是代码完全公开,任何程序员都可以为其编写代码,所以拓展性很高,有大量插件可以使用.
另外也是一个跨平台内核,Windows、 BSD、Linux 和 Mac OS X 中都可以使用.
Webkit
safari和早期chrome使用的内核.
WebKit 前身是 KDE 小组的 KHTML 引擎,可以说 WebKit 是 KHTML 的一个开源的分支。当年苹果在比较了 Gecko 和 KHTML 后,选择了后者来做引擎开发,是因为 KHTML 拥有清晰的源码结构和极快的渲染速度。
国内许多浏览器,如搜狗,360,qq等,大多采用ie和webkit双内核
Bink/Chromium
2013年开始chrome采用的新内核.实质也是webkit分支.
国内的的chrome系浏览器也纷纷转到Blink旗下.
总结:
常见的主流浏览器有:
IE: Ie内核
safari:Webkit内核
chrome:Blink内核
firefox:Gecko内核
opera:Blink内核
国内大部分浏览器:Ie和Blink双内核