原文地址:http://hi.baidu.com/sandpie/blog/item/66fb95c8202f288cc81768bc.html/cmtid/93f20926fe6ec627d507420c

=============================================================================

主要参考维基百科整理

通常所谓的浏览器内核也就是浏览器所采用的渲染引擎(layout engine, 也称排版引擎),渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

0、四种常用的浏览器排版引擎简介

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

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

Geckos: Netcape6开始采用的内核,后来的Mozilla FireFox也采用了改内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。而且这个内核 跟Mosaic的关系更深,或者说事实上现在的Netscape Navigator已经改用这个内核了,因此Firefox的插件能够在Navigator上使用——当然,不是所有的都能兼容。因为这是个开源内核,因 此受到许多人的青睐,Geckos内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。

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

Presto: 目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,也是由Opera Software开发出来的用以代替早期的Elektra内核(Opera 4~6)。该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者 部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行JavaScript的时候有着最快的速度,根据在同等条件下的测试,Presto内核 执行同等JavaScript所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。那次测试的时 候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外, 只剩下NDS Browser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展

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

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

因为Apple最近才将Safari移植到Windows因此暂时没有Windows上使用WebKit的其他浏览器,不过Mac下还有OmniWeb、Shiira等人气很高的浏览器。

1、常用浏览器的排版引擎比较

2、以Trident为核心的浏览器

  • Avant Browser(前身为IeOpera)
  • Maxthon(前身为MyIE3.2、MyIE2)
  • GreenBrowser(前身亦为MyIE3.2)
  • TouchNet Browser
  • 腾讯TT
  • GoSuRF
  • 世界之窗(TheWorld Browser)
  • MiniIE
  • Sleipnir
  • MyIE(新版4.x为GreenBrowser作者发布,3.2及之前版本为Maxthon、GreenBrowser、iTreeSurf等浏览器的前身)
  • iTreeSurf(LovelyTree,前身亦为MyIE3.2)

3、其它使用Trident技术的应用程式

  • RealPlayer播放程式内附的网页浏览器。
  • RealNetworks旗下的网络游戏公司RealArcade所提供的服务。
  • MSN Explorer浏览器。
  • Microsoft Office Outlook以及Outlook Express电子邮件软件使用Trident技术协助HTML格式的信件资料排版以及“Outlook Today”画面的显示。
  • 微软公司的Encarta百科全书及其相关产品。
  • 微软公司的Windows Media Player使用Trident技术产生“Media Information”页面。
  • FeedReader - RSS阅读工具
  • 微软公司的Microsoft Office InfoPath 2003(以XML为基础的表格开发器)产品。
  • 微软公司的MSN Messenger即时通讯软件利用该技术处理使用Flash技术的游戏或比赛以及广告的展示资讯。
  • ThunderSite网页编辑器。
  • 跨平台的文件阅读软件TomeRaider。
  • 维尔福软件公司的Steam内容传送系统使用Trident技术在该软件的“储存”及“更新消息”的功能。

4、 一般浏览器所支持的网页标准和技术

除了以上的标准网页技术外, Internet Explorer亦支持微软自家开发的VBScript和ActiveX; 只有Windows版本的Internet Explorer才能使用ActiveX。

  • Internet Explorer亦有部分不正规的Javascript。
  • Firefox亦有部分不正规的css。例如 -moz-***

注 (5): CSS2为W3C为建议的标准,亦为最常用的CSS版本。

注 (6): XHTML建基于HTML,但为XML的应用。因此,XHTML的源代码必须比HTML更严谨。XHTML本应为XML parser所分析,但为了向后兼容的关系亦可当作HTML来分析。这表格只虑为把XHTML当作XML的浏览器。

注 (7): Internet Explorer 6支持大部分CSS2的特性,但相比于其他浏览器,它有重大的程序错误。

注 (8): 2005年1月28日后的nightly browser实验性的支持XForms [2]。需要安装插件。

注 (9): Konqueror可点选右下角雷达图直接链接至Akregator订阅RSS或Atom。

注 (10): Firefox 3.0 以后,已经可以完整支持 Acid2。

5、各种不同浏览器的起源及发展情况

http://zh.wikipedia.org/zh-cn/File:Timeline_of_web_browsers.svg

不同浏览器的内核研究相关推荐

  1. Android 浏览器内核浅谈,基于WebKit内核的Android手机浏览器的性能研究与加载优化...

    南京邮电大学 硕士 2017 基于WebKit内核的Android手机浏览器的性能研究与加载优化 Performance Research and Load Optimization of Andro ...

  2. QQ浏览器X5内核问题汇总

    23 September 2015 重要更新,X5内核即将更新为Blink内核,到时候下面的这些问题将全部被修复. X5内核开发团队也给开发者们提供了不少指引,推荐关注: http://x5.tenc ...

  3. QQ浏览器x5内核的兼容性问题

    X5内核是腾讯基于优秀开源Webkit[1] 深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上[2] ,更快,更便捷. 2014年9月23日,腾讯正式宣布开放业内首个浏览服务开放平台,向AP ...

  4. QQ浏览器X5内核问题汇总 转

    常常被人问及微信中使用的X5内核的问题,其实我也不是很清楚,只知道它是基于android 4.2的webkit,版本号是webkit 534.今天正好从X5团队拿到了一份问题汇总,梳理下发出来,给各位 ...

  5. win10 1803版本Chrome(谷歌浏览器),360浏览器极速内核打不开https网站的解决方法

    win10 1803版本Chrome(谷歌浏览器),360浏览器极速内核打不开https网站的,总是超时或者卡顿.1803的345版本是可以打开的,但是376版本就不行了.经过研究发现用以下方法可以解 ...

  6. java二次开发浏览器内核_常见的五大浏览器的内核

    首先我们理解一下什么是内核: 英文叫做:Rendering Engine,中文翻译很多,排版引擎.解释引擎.渲染引擎,现在流行称为浏览器内核. Rendering Engine,顾名思义,就是用来渲染 ...

  7. Spring内核研究-通过工厂注入

    Spring专门设计了对工厂模式支持,你可以使用静态工厂方法来创建一个Bean,也可以使用实例工厂的方法来创建Bean.下面分别介绍这2种方法. 静态工厂注入     定义一个Bean使用自己类上的静 ...

  8. 浏览器的内核及版本的判断

    通过jquery 判断浏览器的内核及版本号<script type="text/javascript">$(function () {if ($.browser.msi ...

  9. getelementsbyname谷歌浏览器兼容_常用的浏览器内核有哪些?常用浏览器及其内核介绍...

    大家常用的浏览器内核有哪些?常用浏览器及其内核介绍如下: 1.360浏览器:Chrome内核和IE内核. 2.百度浏览器:IE和Webkit双内核. 3.QQ浏览器:Chromium内核+IE双内核. ...

最新文章

  1. Linux上oracle的安装
  2. php5.1 facade,php设计模式 Facade(外观模式)
  3. 利用CORS实现跨域请求--转
  4. Oracle_Net_Configuration_Assistant_配置步骤
  5. python 关键字参数为什么只能出现在最后_Python笔记2——默认参数,可变参数,关键字参数,参数组合...
  6. 学习笔记(29):Python网络编程并发编程-信号量
  7. 一般向量空间的基变换_MIT—线性代数笔记30 线性变换及对应矩阵
  8. 微课|中学生可以这样学Python(4.2节):break与continue语句
  9. 让组件悬浮所有页面之上
  10. UML进行Linux内核调试
  11. 用python逆序输出字符串中的所有元素_Python中逆序输出字符串的六种方法
  12. 大型网站架构系列:负载均衡详解
  13. 【第102期】游戏策划:在校生求职简历怎么写?
  14. IDEA导入已有项目
  15. Eclipse添加代码自动补全+对齐功能
  16. ArcGIS校园3D展示图制作详细教程
  17. OpenStack Zed:新一代仪表盘 Skyline 正式发布
  18. 计算机pe启动蓝屏怎么办,U盘重装系统进入PE蓝屏怎么办
  19. matlab单位采样序列程序,常用序列的MATLAB代码(一)
  20. 剑客vs刀客 Java vs .NET之飘逸的Java

热门文章

  1. 中谷教育04 Python运算符与表达式
  2. PHP遍历数组的6种方式总结
  3. 家用服务器中心,家用存储娱乐服务器 篇二:硬件实战篇
  4. Postman接口测试脚本编写规范
  5. openSUSE的虚拟机系统安装
  6. 密码学加解密实训(摩斯密码第1题)
  7. 转《面对变化的思考》---深有所获,不得不转!
  8. 公众号禁止分享和关闭微信页面
  9. discuz如何添加广告位
  10. RTMP直播流媒体服务-开放直播快速开启推流直播