网页浏览器的排版引擎也被称为页面渲染引擎,它负责取得
网页的内容(
HTML、
XML、
图像等等)、整理信息(例如加入
CSS 等),以及计算网页的显示方式然后会输出至显示器或打印机。所有
网页浏览器、
电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。
简介
在
Mozilla将其排版引擎(Gecko)作为独立于浏览器的一个配件之后,“排版引擎”这个词汇才被广泛使用。也就是说,除了Mozilla浏览器,其它浏览器也可以使用Gecko作自己排版引擎。
Trident
Trident(又称为MSHTML),是微软的视窗操作系统(
Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称,它的第一个版本诞生于1997年10月Internet Explorer第四版中,IE7做了的重大的变动,除了加入新的技术之外,并增加对网页标准的支持,目前是互联网上最流行的排版引擎之一。
EdgeHTML
EdgeHTML,是微软网页浏览器
Microsoft Edge所使用的网页排版引擎(以下简称内核)的名称。由微软在原IE浏览器的Trident内核基础上,删除了过时的旧技术支持代码,增加了对现代浏览器技术的支持,是一个全新的内核。初始版作为Windows 10 9926预览版的IE11内核,此后每一个Windows 10预览版的
IE11和
Project Spartan(Microsoft Edge尚未正式命名时的)都同时用EdgeHTML作为内核。
Gecko
Gecko是套
开放源代码的、以C++编写的网页排版引擎。Gecko是跨平台的,能在
Microsoft Windows、
Linux和
Mac OS X等主要操作系统上运行。它是最流行的排版引擎之一,其流行程度仅次于
Trident。
·Flock
·XeroBank
KHTML
KHTML,是
HTML网页排版引擎之一,由
KDE所开发。KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的
Gecko引擎小。
苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用。WebCore及WebKit引擎均是KHTML的衍生产品;WebKit是Mac OS X v10.3及以上版本所包含的软件框架,WebKit是Mac OS X的Safari
网页浏览器的基础。
·iCab
WebKit 是一个开源的浏览器引擎。WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。
Webkit已成新的宠儿,它的幕后推手是当今科技界炙手可热的两家公司——
谷歌(2013年谷歌宣布停止使用WebKit作为Chrome浏览器的渲染引擎,并开发自己的网页渲染引擎“Blink”)和苹果。值得注意的是,Webkit内核浏览器的增长,对应的便是IE浏览器的份额流失。
有意思的是,连微软自己都在探讨在IE中引入Webkit的可能性,微软CEO鲍尔默曾表示“将可能使用开源引擎Webkit来拓展IE”。即便这是鲍尔默的烟雾弹,也可以肯定的是,依旧占据统治地位的IE无法忽视Webkit可能带来的威胁。
Presto
Presto是一个由Opera Software开发的浏览器排版引擎,应用于Opera 7.0~9.60版,它取代了旧版Opera中所使用的Elektra排版引擎(已成为历史),包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。
·任天堂DS浏览器
Tasman
Tasman,是微软的Internet Explorer for Mac浏览器所使用的排版引擎,也是为尝试支援W3C所制定的网页标准而设计的。在Mac版的Microsoft Office 2004中,电子邮件客户端Microsoft Entourage使用的就是Tasman排版引擎。
·MSN for Mac OS X
Blink
引擎成立
Google 宣布将在未来的
Google Chrome/
Chromium 中使用基于
WebKit 分叉的 Web 渲染引擎:Blink。同时 Opera 表示也将跟进 Google Chrome/Chromium 的步伐。
Google Chrome/Chromium 从创始至今一直使用 WebKit(WebCore) 作为 HTML/CSS 渲染引擎。WebKit 早先由 Apple 由 KHTML 项目分叉出来,用于 Safari 浏览器的 Web 引擎。由于宽松的协议、轻量级的设计和便捷的应用程序内嵌 API,WebKit 逐渐变得流行起来,除了 Google Chrome/Chromium 和 Safari,它在移动终端( Symbian S60,Android,iOS)到 Toolkit 集成(GTK+, Qt4) 都有不错的收获。
尽管上面一众经常被统称为 WebKit,实际上各自都使用了自己的 WebKit 分支或者编译时选项,使得最终的渲染结果也是存在一定的差异的。不过大体上 WebKit 社区内部还是比较和谐的,各个成员之间也为维持兼容性作出了努力,直到 2010 年随着 OS X Lion 一起面世的 WebKit2。由于 WebKit2 在 WebCore 层面上实现的进程隔离在一定程度上与 Google Chrome/Chromium 自己的沙箱设计存在冲突,故 Google Chrome/Chromium 一直停留在 WebKit,使用 Backport 的方式实现和主线 WebKit2 的兼容。显而易见这增加了 WebKit 和 Chromium 的复杂性,且在一定程度上影响了 Chromium 的架构移植工作。
引擎定位
基于以上原因,Google 决定从 WebKit fork 出自己的 Blink Web 引擎:
现阶段以精简内部结构为主,将删除大约 7000 个文件和 450 万行 WebKit2 兼容代码。
未来将着重改善 DOM 架构,将使用 JavaScript 实现 DOM。
提升安全性,实现进程外 iframes 。
对于今年初宣布放弃自有渲染引擎跟随 Chromium 的 Opera 来说,其开发者也立刻发布博客公告 Opera 亦将切换至 Blink 引擎。
谷歌 Blink 的横空出世将使它和其他的 WebKit 浏览器开发商包括——苹果、诺基亚和黑莓——更彻底地分道扬镳。
这一举措意味着,现在有四大渲染引擎在线:WebKit、Blink、Trident 和 Gecko。对于用户来说,渲染引擎的差异化意味着他们在使用不同浏览器打开同一网页时将得到不同的结果——在移动设备上尤其如此。
引擎市场
谷歌并在一篇博客文章里写道:“我们知道,新的渲染引擎的出现将对网页浏览产生重大影响。”但谷歌补充说,它认为多个渲染引擎 “能够推动创新,并增进整个
网络生态系统的健康。”
谷歌此举有很大风险。根据 NetMarketShare 的数据,Chrome 浏览器目前是台式机最常用的浏览器之一。而根据 Statcounter 的统计,Chrome 浏览器目前是台式机最常用的浏览器。NetMarketShare 统计的是访客数量,而 Statcounter 只统计点击量。如果谷歌的新战略不成功,Chrome 浏览器的统治地位或将不保。
文本界面
就是一些纯文字式的
网页浏览器,在LINUX系统中比较常见。
·Lynx
·Links
·w3m
手持设备
·PSP浏览器
其它
·Mosaic