前端基础--主流浏览器及其内核

IE trident
Chrome webkit/blink
firefox Gecko
Opera presto
Safari webkit

  浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、Java Script)并渲染(显示)网页。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

各种浏览器

Firefox浏览器

Mozilla Firefox,中文名称火狐,是一个开源网页浏览器,使用Gecko引擎(即非ie内核),由Mozilla基金会与数百个志愿者所开发。原名“Phoenix”(凤凰),之后改名“Mozilla Firebird”(火鸟),再改为Firefox的名字。 Firefox是Mozilla基金会开发的一个轻便、快速、简单与高扩充性的浏览器。

Redfox浏览器

Redfox是经过定制后的绿色安装增强FireFox版本,其特点如下:采用正式版代码编译优化,支持部分非标准网站;不写注册表,可以方便的拷贝移动或者删除;加入了大量常用扩展供大家在安装的时候选择;对原有FireFox的错误和不方便设置进行了修正;调整了部分次参数进一步加快FireFox的浏览速度。

Madfox浏览器

Madfox是一个基于Firefox的浏览器。Firefox是一个非常优秀的浏览器,但是由于我们周围有很多不符合互联网标准的网站,从而在很大程度上阻碍了Firefox的推广。对于标准和非标准,无论是技术还是非技术层面,都有着非常激烈的争论。Madfox项目的目的,是希望仅从技术的角度出发,通过扩展Firefox,尝试去兼容不符合标准和规范的网站。

DR.Orca浏览器

Dr.Orca是一款方便、实用的单窗口多页面浏览器。它基于Gecko引擎,除了拥有Gecko核心浏览器的浏览速度快的特点,还具备了时下各种主流的浏览器所具备的很多功能,如支持鼠标手势、强大的过滤功能、群组收藏功能等。Dr.Orca还提供了多语言选择,其中包括了简体中文。

K-Meleon浏览器

K-Meleon是一个可自定义的,轻型的用于WIN32(WINDOWS)平台的网络浏览器,基于Geckos设计引擎。K-Meleon是在遵循GNU公共许可证下的开放源代码的自由软件。

Netscape 6.0 之后版本

网景(Netscape)是一个自1994年开始的品牌。它亦是网景通讯公司(Netscape Communications Corporation,1994年4月4日—2003年7月5日)的常用简称。网景通讯公司曾经是一间美国的电脑服务公司,以其生产的同名网页浏览器而闻名。

Opera浏览器

Opera为来自挪威的一个极为出色的浏览器,具有速度快、节省系统资源、订制能力强、安全性高以及体积小等特点,目前已经是最受欢迎的浏览器之一。多文件接口(MDI)、方便的缩放功能、整合搜索引擎、键盘截径与鼠标浏览功能、当机时下次可以从上次浏览进度开始、防止pop-up、Fullscreen、对HTML标准的支持、整合电子邮件与新闻群组以及让使用者自订接口按钮、skin、工具列等的排列方式,都是Opera多年来备受喜爱的特殊功能。

Opera长年以来不屈不挠,尽管市场始终就那么一点。如今各浏览器群雄逐鹿,Opera公司宣布,将在2013年2月发布一款名为“OperaIce”的手机和平板机浏览器,不再使用自己开发和使用了多年的Presto核心,改用Google Chrome的Web Kit,支持Android、iOS两大平台。曾伴随我们多年并让我们佩服的Opera的小巧特性成为历史。

Opera 9.5 ~ 12.16

Opera9.5~12.16使用新的Kestrel内核(仍属于Presto内核),新内核使Opera速度更快,且支持开放网页标准。其中Opera Link功能可以使用户自由连接装有Opera的设备。Opera9.5~12.16可以在Windows、Mac及Linux操作系统下完美运行。

Opera12.16之后版本(不包括Opera12.16)

Opera12.16之后(不包括Opera12.16)的版本使用Google Chrome的Web kit内核,原有的浏览器检测方法找不出Opera特征,Opera不再是主流浏览器,10%的员工因此离开,这些人中大都是核心开发人员。

安装Webkit版的Opera不会覆盖原版Opera,原版Opera的自动更新不会更新Webkit版的Opera。

多内核壳浏览器

编辑

国内最主流的“双核”浏览器基本都是Trident和Web Kit这个架构,例如搜狗高速浏览器傲游浏览器猎豹安全浏览器QQ浏览器360极速浏览器世界之窗浏览器极速版枫树浏览器快快浏览器百度浏览器、阿云浏览器(后期版本)、太阳花浏览器等等。

  • 搜狗高速浏览器

搜狗浏览器,搜狐出品,使用高速(web kit)和兼容(Trident)双浏览模式,保证良好兼容性的同时极大提升网页浏览速度。当采用高速模式访问网页出现问题时,可点击地址栏旁边的内核按钮直接切换内核,使用兼容性更佳的兼容模式正常浏览网页。

  • 傲游浏览器3

傲游浏览器3.0是国内首先尝试使用Web kit与Trident双核心的浏览器。Web kit核心将使你打开网页的速度更快,Trident 核心则会带给你更好的兼容性支持。除此之外,傲游3.0目还包括智能填表、智能地址栏、弹窗过滤、在线收藏等功能。

  • 猎豹安全浏览器

猎豹安全浏览器是由金山网络技术有限公司推出的一款浏览器,采用Trident和Web Kit双渲染引擎,猎豹浏览器对Chrome的Web kit内核进行了超过100项的技术优化,访问网页速度更快,支持HTML5新国际网页标准,极速浏览的同时也保证兼容性。

  • QQ浏览器6.11

QQ浏览器6.11是腾讯公司推出的新一代浏览器,使用极速(Web kit)和普通(Trident)双浏览模式,设计了全新的界面交互及程序框架,目的是为用户打造一款快速、稳定、安全、网络化的优质浏览器。

  • 360极速浏览器

360极速浏览器基于Chromium开源项目,继承了Chromium开源项目超级精简的页面和创新布局,并创新性地融入国内用户喜爱的新浪微博、人人网、天气预报、词典翻译、股票行情等等热门功能,在速度大幅度提升的同时,兼顾国内互联网应用。

  • 世界之窗浏览器极速版

世界之窗浏览器极速版是基于谷歌的开源项目Chromium开发,是Google Chrome浏览器的一个并行分支。凤凰工作室逐渐将The World 普通版上一些特色功能加入进来,并对一些细节功能进行改造,使之更适合中国国内互联网情况和上网习惯;并逐渐参与到Chromium开源项目中,这样,即可以加强国内用户的Chrome浏览器使用体验,也为互联网发展做出自己的贡献。另外,Build选择上,选取稳定的Chrome版本作为The World Chrome的发布版。

  • Lunascape(5.0+)

Lunascape浏览器是日本Lunascape公司出品的三引擎浏览器。可在浏览器中自由切换三种渲染引擎:Trident(IE)、 Gecko(Firefox)和Web Kit,最大地保证了浏览器的兼容性和稳定、快速的特点。此浏览器还获得数个奖项,号称世界首款融合了3种内核、运行速度最快的浏览器。其充分应用了web2.0的时代特征,将浏览器与各种网络服务进行了无缝集成,并携带了多种革命性的功能。如高性能的选项卡式浏览、方便快捷的鼠标手势RSS订阅、防止意外崩溃功能、IE工具栏支持、直接导入设置从多种浏览器中、自动删除个人信息、多种自定义外观、支持视频共享网站与SNS网站的插件、3种内核自由切换等等。总之,Lunascape可以让您在日常生活中的各种事物均可直接在浏览器内完成。

内核

Trident(IE内核)

Trident:该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE11。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器(壳浏览器)涌现(如360浏览器、Maxthon、The World、TT、Green Browser、Avant Browser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。

由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。

补充:IE从版本11开始,初步支持Web GL技术。

补充:IE8的Java Script引擎是Jscript,IE9开始用Chakra,这两个版本区别很大,Chakra无论是速度和标准化方面都很出色。

Trident内核的常见浏览器有: 

IE6IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);

360安全浏览器360极速浏览器(采用Chrome+IE内核)、傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)、百度浏览器(早期版本)、世界之窗浏览器(最初为IE内核,2013年采用Chrome+IE内核)、2345浏览器腾讯TT、淘宝浏览器、采编读浏览器、搜狗浏览器、阿云浏览器(早期版本)、瑞星安全浏览器、Slim Browser、 GreenBrowser爱帆浏览器(12 之前版本)、115浏览器155浏览器闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器速达浏览器佐罗浏览器海豚浏览器(iPhone/iPad/Android)、UC浏览器(Blink内核+Trident内核)等。

其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

Gecko(Firefox内核)

Gecko:Netscape6开始采用的内核,后来的Mozilla Fire Fox(火狐浏览器)也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。

事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko。不过事实上,Gecko内核的浏览器仍然还是Firefox(火狐)用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和MacOSX中使用。

补充:Java Script引擎是Spider Monkey。

Gecko内核常见的浏览器:Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon

Presto(Opera前内核) (已废弃)

Presto:Opera12.16及更早版本曾经采用的内核,现已停止开发并废弃,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。

实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大),本文的其中一个修改者认为上述测试信息过于老旧且不完整,因为他曾做过的小测试显示Presto部分快部分慢,各内核总体相当。那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDS Browser、WiiInternet Channle、Nokia770网络浏览器等,这很大程度上限制了Presto的发展。

Opera现已改用Google Chrome的Blink内核。

它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。Web kit引擎包含Web Core排版引擎及Java Script Core解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Web kit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

限于MacOSX的使用不广泛和Safari浏览器曾经只是MacOSX的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari3终于推出了Windows版的缘故吧。Mac下还有Omni Web、Shiira等人气很高的浏览器。

Google Chrome、360极速浏览器以及搜狗浏览器高速模式也使用webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。

Web Kit内核在手机上的应用也十分广泛,例如Google的手机Gphone、Apple的iPhone,Nokia’s Series 60 browser等所使用的Browser内核引擎,都是基于Web Kit。

Web kit(Safari内核,Chrome内核原型,开源)

Webkit:它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Web kit引擎包含Web Core排版引擎及Java Script Core解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Web kit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

限于Mac OS X的使用不广泛和Safari浏览器曾经只是Mac OS X的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari 3终于推出了Windows版的缘故吧。Mac下还有Omni Web、Shiira等人气很高的浏览器。

Google Chrome、360极速浏览器以及搜狗浏览器高速模式也使用web kit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。

Web Kit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 Web Kit。

WebKit内核常见的浏览器:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器,

Blink(Google的最新内核)

2013年4月3日,谷歌在Chromium Blog上发表博客,称将与苹果的开源浏览器核心Webkit分道扬镳,在Chromium项目中研发Blink渲染引擎(即浏览器核心),内置于Chrome浏览器之中。

苹果在Safari中采用Web kit核心,并于2005年将Web kit公开为开源软件。谷歌当时采用苹果的Web kit核心打造了Chrome浏览器。Opera也宣布称将会转向Webkit核心,但是谷歌宣布此举后,Opera表示将会跟随谷歌采用其Blink浏览器核心,同时参与了Blink的开发。

谷歌转向研发Blink浏览器内核意义重大,谷歌此举欲降低Webkit即苹果在浏览器市场的影响力。截止2012年底,Web kit浏览器内核占总浏览器市场份额约40%。

谷歌解释称,Chromium多处理架构系统与其他Web kit浏览器很不相同。

谷歌工程师Adam Barth在博客中表示,随着浏览器的发展,苹果的Web kit已经不能满足用户需求,同时也有碍浏览器技术的创新步伐。但是他也表示,谷歌自主研发Blink内核绝非易事,但是新内核将会提升整个开源网络生态系统的机能。

谷歌做出此举之际,Mozilla与三星也达成合作协议开发“下一代”浏览器渲染引擎Servo。

排版引擎

WebCore

WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。使用WebCore的主要有Safari,此外还有Omni Web、Shiira、Swift等。Safari现支持Windows,但效果不如iOS上的。

KHTML

KHTML,是HTML网页排版引擎之一,由KDE所开发。

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

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

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

基于KHTML内核的内核:Web Kit、WebCore。

猜你喜欢

转载自blog.csdn.net/qq_37503890/article/details/88085375