几种浏览器的内核

目前世界上主要的浏览器,一个手指可以数的过来(不包括 Maxthon 调用其他浏览器的这类),主要有:IE、Firefox、Opera、Konqueror 以及 Safari。

IE 使用 Trident 引擎,闭源,只有微软的 IE 在使用,类似 Maxthon之类的 IE MOD,只是在调用 IE,没有调用底层的引擎,目前市场占有率世界第一。

Firefox 使用 Gecko 引擎,就是以前的 Netscape 使用的 Mozilla 引擎,Netscape 倒了以后,成立了 Mozilla 基金会,将这个引擎完全重写,开源,使用这个引擎的还有 K-Meleon/Flock 比较知名,因为跨平台,加上 IE6 以后,微软迟迟不发新版本,市场占有率达到了第二。

Konqueror:使用 KDE 小组自己开发的 KHTML 引擎,开源,速度非常快。

Safari 使用的引擎是苹果公司根据 KHTML 修改来的 WebCore(还是叫 WebKit?我查到两种说法),闭源,IPhone 上的浏览器也是用这个引擎,由于苹果的关系,市场占有率反而比 Konqueror 高很多。

Opera 的引擎是 Presto,闭源,也是跨平台的,速度也很快,原先的老二,但是现在被 Firefox 完全打败了。

微软的IE是个很霸道的浏览器,他的Frontpage和Word生成HTML页面很多时候只有IE才能读取,其他的浏览器均会出毛病。其根本原因是IE自创了许多非标准的HTML语法,与XHTML精神背道而驰。Firefox为了占领市场,现在也在越来越多的支持IE语法。但当一个浏览器支持的语法过于复杂的时候,它的排版速度也会变慢。Konqueror是一个十分严格的浏览器,它采用了十分苛刻的KHTML引擎。

现在浏览器进入了百家争鸣,一家独大的局面。其实在10多年前就有过一场浏览器大战。1994年10月13日Mosaic Netscape 0.9上市,这套软件后来更名为Netscape Navigator。Netscape Navigator为各操作系统的用户提供一个一致的因特网使用体验,即跨平台。这吸引到微软的注意。因为它无视操作系统,微软视它为对Microsoft Windows的直接威胁。作为Windows 95的Microsoft Plus!附购品,微软释出Internet Explorer 1.0。微软以最快的速度推出了数个连续版本的Internet Explorer。那些版本都是随Windows附送的,用户可免费使用(Netscape Navigator当时是收费的)。这个时期现在称为“浏览器大战”。为了超越对方,当时网景和微软都分别在它们的浏览器上加上许多功能(虽然未必能正常运作),版本号码亦增加得很快(虽然未必合乎逻辑)。因为拥有专注的人力和财力,Internet Explorer当时是处于上方的。到4.0版,用户认为Internet Explorer运作上是比较稳定的。在对于网景其他的产品,微软亦提供了相对应的免费产品,例如随Windows NT附送的Internet Information Server(IIS)服务器软件。Netscape最终被IE完全打败了。现在的Netscape Browser是一款在Windows操作系统执行的网页浏览器,由美国在线(AOL)发行,开发方面则委托加拿大公司Mercurial Communications负责。该款浏览器是自网景通讯公司结束浏览器开发业务后,首款以Netscape名义推出的浏览器,也是Netscape浏览器系列的延续。2008年3月,网景官方正式倒闭。

目前很流行的Firefox在很多方面都超越了IE,它的内核是Gecko。Gecko是套开放原始码的、以C++编写的网页排版引擎。目前为Mozilla家族网页浏览器以及Netscape 6以后版本 浏览器所使用。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。这套排版引擎提供了一个丰富的程序界面以供因特网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。虽然最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox,现在已有很多其他软件现在利用这个排版引擎。Gecko是跨平台的,能在Microsoft Windows、Linux和Mac OS X等主要操作系统上运行。Gecko为第2个最流行的排版引擎,仅次于Trident(用于Windows版的Internet Explorer)。

在版本上,Netscape Browser属于第8版,建基于Mozilla Firefox,而第6及7版则是基于Mozilla Suite。 KHTML是HTML网页排版引擎之一,由KDE所开发。

KDE系统自KDE2版起,在档案及网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。

KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。

苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难[1]。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的 KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。

相关日志