资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
要搞清楚浏览器内核是什么,首先应该先搞清楚浏览器的构成。简单来说浏览 器可以分为两部分,shell+内核。其中 shell 的种类相对比较多,内核则比较 少。Shell 是指浏览器的外壳:例如菜单,工具栏等。主要是提供给用户界面 操作,参数设置等等。它是调用内核来实现各种功能的。内核才是浏览器的核 心。内核是基于标记语言显示内容的程序或模块。也有一些浏览器并不区分外 壳和内核。从 Mozilla 将 Gecko 独立出来后,才有了外壳和内核的明确划分。 目前主流的浏览器有 IE6、IE8、Mozilla、 FireFox、Opera、Safari、Chrome、Netscape 等。什么是浏览器内核 浏览器内核又可以分成两部分:渲染引擎(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(最新版已经不使用)等。 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 的内核。 主流浏览器所使用的内核分类 Trident 内核:IE,MaxThon,TT,The World,360,搜狗浏览器等 Gecko 内核:Netscape6 及以上版本,FF,MozillaSuite/SeaMonkey 等 Presto 内核:Opera7 及以上 Webkit 内核:Safari,Chrome 等浏览器内核的优缺点 Trident:这种浏览器内核是 IE 浏览器用的内核,因为在早期 IE 占有大量的 市场份额,所以这种内核比较流行,以前有很多网页也是根据这个内核的标准 来编写的,但是实际上这个内核对真正的网页标准支持不是很好,甚至在 2005 年,与网页标准制定组织(W3C 理事会)所制定的标准发生了脱节,同时 Trident 内核本身的 BUG 比较多,对一些符合 W3C 标准的网页代码支持不是很 好,这在早期的 IE 版本中比较明显,比如 IE5.5 以前(包括 IE5.5),其实 IE6 对 W3C 标准的支持也不是很好,而我们现在很多人都在使用 IE6,事实上它也 属于一个比较早的版本。 但是由于 IE 的高市场占有率,微软也很长时间没有更新 Trident 内核,这导致 了二个结果 1,Trident 内核和 W3C 标准脱节。 2,Trident 内核的大量 Bug 等安全问题没有得到解决,加上一些专家学者公开 自己认为 IE 浏览器不安全的观点,使很多用户开始转向其他浏览器,FF,Opera 就是这时期兴起的。 Gecko:这是 Firefox 和 Flock 所采用内核,这个内核的优点就是功能强大、 丰富,可以支持很多复杂网页效果和浏览器扩展接口,但是代价是也显而易见 就是要消耗很多的资源,比如内存。 Presto:Opera 采用的是 Presto 内核,Presto 内核被称为公认的浏览网页速 度最快的内核,这得益于它在开发时的天生优势,在处理 JS 脚本等脚本语言时, 会比其他的内核快 3 倍左右,缺点就是为了达到很快的速度而丢掉了一部分网 页兼容性。 Webkit:Webkit 是 Safari 采用的内核,不过 Safari 是苹果系统下的浏览器 (虽然也有 windows 版,但是比较少),所以只简单介绍一下这个内核的优点和 缺点,优点就是网页浏览速度较快,虽然不及 Presto 但是也胜于 Gecko 和 Trident,缺点是对于网页代码的容错性不高,也就是说对网页代码的兼容性较 低,会使一些编写不标准的网页无法正确显示。 总结:就浏览器来说,互联网经历了十年的高速发展期,近几年市场上也推出 了很多新的浏览器,但是他们并非是采用自主开发的内核,所以浏览器内核本 身实际没有实质突破。RenderingRendering EngineEngine浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为 “解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法 的解释(如 HTML、JavaScript)并渲染(显示)网页。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎 决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对 网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染 (显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试 网页显示效果的原因。浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内 核,那么可能大约有 10 款以上甚至更多,不过通常我们比较常见的大约只有以 下四种,下面先简单介绍一下。 TridentTridentTridentTrident: IE 浏览器使用的内核,该内核程序在 1997 年的 IE4 中首次被采 用,是微软在 Mosaic 代码的基础之上修改而来的,并沿用到目前的 IE8。Trident 实际上是一款开放的内核,其接口内核设计的相当成熟,因此才 有许多采用 IE 内核而非 IE 的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser 等)。此外,为了方便也有很多人直接简 称其为 IE 内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。由于 IE 本身的“垄断性”(虽然名义上 IE 并非垄断,但实际上,特别是 从 Windows 95 年代一直到 XP 初期,就市场占有率来说 IE 的确借助 Windows 的 东风处于“垄断”的地位)而使得 Trident 内核的长期一家独大,微软很长时 间都并没有更新 Trident 内核,这导致了两个后果一是 Trident 内核曾经 几乎与 W3C 标准脱节(2005 年),二是 Trident 内核的大量 Bug 等安全性问题 没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己 认为 IE 浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox 和 Opera 就是这个时候兴起的。非 Trident 内核浏览器的市场占有率大幅提高也 致使许多网页开发人员开始注意网页标准和非 IE 浏览器的浏览效果问题。 GeckoGeckoGeckoGecko: Netscape6 开始采用的内核,后来的 Mozilla FireFox 也采用了 该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的 程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多 人的青睐,Gecko 内核的浏览器也很多,这也是 Geckos 内核虽然年轻但市场占 有率能够迅速提高的重要原因。事实上,Gecko 引擎的由来跟 IE 不无关系,前面说过 IE 没有使用 W3C 的 标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的 Netscape 的一些员工一起创办了 Mozilla,以当时的 Mosaic 内核为基础重新编 写内核,于是开发出了 Geckos。不过事实上,Gecko 内核的浏览器仍然还是 Firefox 用户最多,所以有时也会被称为 Firefox 内核。此外 Gecko 也是一个 跨平台内核,可以在 Windows、 BSD、Linux 和 Mac OS X 中使用。 PrestoPrestoPrestoPresto: 目前 Opera 采用的内核,该内核在 2003 年的 Opera7 中首次被使 用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览 速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上, Presto 有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况 下被重新解析。此外该内核在执行 Javascrpt 的时候有着最快的速度,根据在 同等条件下的测试,Presto 内核执行同等 Javascrpt 所需的时间仅有 Trident 和 Gecko 内核的约 1/3(Trident 内核最慢,不过两者相差没有多大)。那次测 试的时候因为 Apple 机的硬件条件和普通 PC 机不同所以没有测试 WebCore 内核。 只可惜 Presto 是商业引擎,使用 Presto 的除开 Opera 以外,只剩下 NDSBrowser、Wii Internet Channle、Nokia 770 网络浏览器等,这很大程度 上限制了 Presto 的发展。 WebkitWebkitWebkitWebkit:苹果公司自己的内核,也是苹果的 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 版的缘故吧。Mac 下还有 OmniWeb、Shiira 等人气很高的浏览器。google 的 chrome 也使用 webkit 作为内核。WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokias Series 60 browser 等所使用的 Browser 内核引 擎,都是基于 WebKit。KHTMLKHTML:KHTML,是 HTML 网页
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号