`
webcode
  • 浏览: 6079690 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

浏览器内核的解析与对比

 
阅读更多

要搞清楚浏览器内核是什么,首先应该先搞清楚浏览器的构成。简单来说浏览器可以分为两部分,shell【外壳】+内核。其中shell的种类相对比较多,内核则比较少。Shell是指浏览器的外壳:例如菜单,工具栏等。主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。内核才是浏览器的核心。内核是基于标记语言显示内容的程序或模块。也有一些浏览器并不区分外壳和内核。从Mozilla将Gecko独立出来后,才有了外壳和内核的明确划分。目前主流的浏览器有IE、Chrome、FireFox、Safari、Opera【搜狗、Maxthon、QQ、360】等。

1、什么是浏览器内核

浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。(参见维基百科)JS引擎则是解析Javascript语言,执行javascript语言来实现网页的动态效果。最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个ACID来测试引擎的兼容性和性能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有10多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、Presto、Webkit。

Trident又称MSHTML,是微软开发的渲染引擎(包含了Javascript引擎JScript),他已经深入了Windows操作系统的骨髓,例如Windows Media Play,Windows Explorer,Outlook Express等都使用了。目前很多浏览器都使用这个引擎,例如IE、Maxthon、QQ等。

Gecko是C++开发的,Open Source的渲染引擎,包括了SpiderMonkey(Rhino)。主要的使用者有Firefox。

Webkit是苹果公司基于KHTML开发的。他包括Webcore和JavaScriptCore(SquirrelFish,V8)两个引擎。主要的使用者有Safari,Chrome。

Presto由Opera Software公司开始的,用于Opera的渲染引擎。Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的内核。

2、主流浏览器所使用的内核分类

Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上
Webkit内核:Safari,Chrome等

3、主要浏览器内核的优缺点

Trident内核(window)

Trident就是大名鼎鼎的IE浏览器所使用的内核,也是很多浏览器所使用的内核,MS现在采用的越来越少,反之使用webkit的越来越多,老的trident内核(比如IE6)当年占得市场份额很大,后果就是大量的网页是专门为IE6等老trident内核编写,但这些网页的代码并不符合w3c标准,于是完全符合w3c标准的网页在老trident内核下出现了偏差,这就是为什么后来很多人觉得后来的IE9网页排版有点混乱,而IE6正常,其实不是浏览器的兼容性差了,而是你访问的的网页不符合新的标准,目前可供调用的最新版的Trident内核是IE9使用的内核,较之前的版本对w3c的标准支持增了很多。基于Trident内核的浏览器有:ie6,ie7,ie8(Trident 4.0),ie9(trident 5.0),ie10(trident6.0),世界之窗,360安全浏览器, 遨游2.0(3.0以上版本开始采用webkit内核),搜狗浏览器,腾讯TT;其中部分版本的浏览器是双核浏览器,甚至是多核。

Gecko(跨平台)

Natescape6启用的内核,现在又mozilla基金会进行维护,是开源的浏览器内核,目前主流的Gecko内核是mozilla firefox, 由于firefox的出现,IE的霸主地位逐渐被削弱,chrome的出现加速了这个进程,非trident内核的兴起逐渐改变了整个互联网的格局,最直接的推动是编码的标准化,也使MS在竞争的压力下不得不改进IE,不过可惜的是,虽然是开源的,也开发了这么多年,基于Gecko的浏览器并不多见,除了一些简单的改动或者重新编译,深度定制或者增了强外壳的还是比较少见。另外就是一些软件借用了Gecko,比如音乐管理软件songbird。

webkit(跨平台)

由khtml发展而来,也是apple给开源世界的一大贡献,是目前最火热的浏览器内核,火热的不是说它的市场份额,而是应用的面积和势头,因为脱胎于khtml,所以具有高速的特点,同样遵守w3c标准,从目前来看,webkit内核是最具有潜力而且是已经有相当成绩的新型内核,性能非常好,对w3c标准的支持也非常完善,本人十分看好他。常见的基于webkit内核的浏览器主要有:apple 的safari(win/mac/iphone/ipad) 、google的chrome、塞班手机浏览器、android手机默认的浏览器。

Presto(跨平台)

opera所 采用的内核,准确的说是opera7.0及以后的版本采用的内核,之前的版本采用的内核是elektra, 无容置疑,Presto内核对w3c的支持也很良好,presto对页面文字的解析方面的性能比webkit还要高,对页面有较高的阅读性。基于presto的内核的浏览器有; opera。

分享到:
评论

相关推荐

    WebKit2-7604.5.6 浏览器内核

    WebKit2-7604.5.6 是一个特定版本的 WebKit 浏览器内核,WebKit 是一个开源的网页渲染引擎,被广泛应用于各种操作系统和应用程序中,包括著名的 Safari 和 Chrome 浏览器。这个版本号表示该内核在开发过程中的一次...

    常见浏览器的4大内核

    ### 常见浏览器的四大内核:技术...综上所述,不同的浏览器内核各有优劣,选择合适的内核需根据具体的应用场景和目标用户群体来决定。对于开发者而言,了解这些内核的技术特点,有助于构建更加兼容和高效的Web应用。

    浏览器Apple Safari和Google Chrome内核webkit

    **WebKit与其他浏览器内核的对比** 与WebKit竞争的两个主要内核是Gecko(由Mozilla基金会维护,用于Firefox等)和Trident(Microsoft的Internet Explorer和早期版本的Edge)。Gecko以其强大的功能集闻名,支持众多...

    wke浏览器加强版 附带调用源码

    4. **浏览器内核**: WKE浏览器加强版的内核可能进行了优化,提升了渲染速度、内存管理效率,或者增强了对某些网络协议的支持,提供更好的用户体验。 5. **学习资源**: 对于学习Web技术的人来说,wke浏览器加强版的...

    app-项目开发手机浏览器

    - **模拟浏览器**:如Opera Mini,使用非标准解析方式,与桌面浏览器体验有较大差异。 - **增强型浏览器**:基于WebView或修改的WebView,提供定制UI和附加功能,易于扩展。 3. **案例与应用** 随着智能手机...

    支持安装于Chromiu内核浏览器(谷歌Chrome、360极速、360安全、搜狗、QQ、UC、猎豹等)

    标题和描述中提到的是关于一个可以安装在基于Chromium内核浏览器上的扩展程序。这个扩展程序的主要功能似乎与电商搜图下载有关,因为标签中包含了"chrome"和"电商搜图下载"。Chromium内核是Google Chrome浏览器的...

    GeckoFx xulrunner C#火狐浏览器内核HTML5

    【openwebkit】可能是指开源的WebKit浏览器引擎,这里可能是将Gecko与WebKit进行对比,WebKit是另一个广泛使用的开源渲染引擎,主要被Safari和Chrome等浏览器采用。在本项目中,虽然标签提到了openwebkit,但实际...

    X5WebDemo_spend4hq_x5tbs_x5内核dome_x5_x5内核_源码.rar

    X5内核是腾讯公司开发的一款强大的移动浏览器内核,广泛应用于QQ浏览器、微信内置浏览器等多个平台,以其优秀的性能和兼容性著称。本文将深入探讨X5内核的核心特性,并结合提供的源码进行分析。 一、X5内核概述 X5...

    网狐内核6.6 的 测试可以用

    2. **性能测试**:通过基准测试工具衡量内核在页面加载速度、脚本执行速度、内存占用等方面的表现,与竞品进行对比,查找性能瓶颈。 3. **兼容性测试**:在大量实际网站上进行测试,确保内核在不同类型的网页上都能...

    C#网页浏览器模块

    WebBrowser控件基于Internet Explorer的内核,因此它能够解析和显示HTML、CSS、JavaScript等内容,支持大部分现代网页标准。开发者可以通过调用控件的各种属性、方法和事件来控制网页的加载、导航和交互。 在【描述...

    suorceinsight 阅读内核代码的利器

    4. **历史版本查看**:虽然SourceInsight本身并不内置版本控制系统,但它可以与Git、SVN等外部版本控制系统无缝集成,帮助开发者查看代码的不同版本,这对于对比内核源代码的修改历史非常有帮助。 5. **自定义...

    ietester 测试不同浏览器

    由于IE浏览器历史上存在多个版本,并且每个版本的内核解析机制有所不同,这导致开发者在创建网页时常常会遇到跨版本兼容性问题。IETester就是为了帮助开发者解决这一问题而设计的。 **二、IETester功能** 1. **多...

    前端面试宝典

    ##### 浏览器内核 在前端开发中,了解不同浏览器所使用的内核对于确保网页在各种环境中的一致性和兼容性至关重要。 - **IE (Internet Explorer):** 使用Trident内核。 - **Firefox:** 使用Gecko内核。 - **Safari:...

    使用于Windows server2003操作系统的IE7安装文件

    8. **技术演进**:对比IE7与现代浏览器的差异,强调技术创新和进步对用户和开发者的影响。 通过以上分析,我们可以看到,虽然这些资源属于过时的技术,但它们可以帮助我们理解早期互联网和服务器管理的历史,同时...

    面试宝典指南大全

    浏览器内核包括解析HTML/CSS的引擎和JavaScript引擎,如Blink(Chromium)、Gecko(Firefox)等。 33. **标准模式与怪异模式** 标准模式(Strict Mode)遵循HTML和CSS规范,而怪异模式(Quirks Mode)模拟旧版...

    js判断运行jsp页面的浏览器类型以及版本示例

    下面,我们将根据这段代码内容来详细解析浏览器类型及版本判断的相关知识点。 首先,代码中使用了`navigator.userAgent`来获取当前浏览器的用户代理字符串(User-Agent String),这是一个在HTTP头部中发送给服务器...

    谷歌浏览器加速插件.zip

    谷歌浏览器(Chrome)是一款非常流行的网络浏览器,以其稳定性和高性能受到全球用户的喜爱。然而,在浏览网页时,有时可能...然而,用户也应定期检查和更新插件,以确保其与最新的浏览器版本兼容,并持续提供最佳性能。

    前端面试文件content_1636425212663(1).docx

    浏览器内核 * 浏览器主要分为两个部分:渲染引擎和 JS 引擎 * 渲染引擎:主要负责获取页面内容和排版渲染页面 * JS 引擎:解析和执行 JS 来实现页面的动态效果,以及交互内容 * 常用浏览器的内核有:Webkit、Gecko...

    IE6对多个CSS样式的解析

    文章通过实验和实例,说明了IE6在解析多个CSS样式时的特定行为模式,并对比了Firefox浏览器的行为差异。这些发现对于网页开发者来说是非常重要的,特别是在需要兼容老版本浏览器的情况下。这些知识可以帮助开发者更...

Global site tag (gtag.js) - Google Analytics