Rendering Engine
浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。
所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。
浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。
Trident
Trident: 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浏览器的浏览效果问题。
Gecko
Gecko: Netscape6开始采用的内核,后来的Mozilla FireFox也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。
事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的 Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Geckos。不过事实上,Gecko 内核的浏览器仍然还是Firefox用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、 BSD、Linux和Mac OS X中使用。
Presto
Presto: 目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。
实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展。
Webkit
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版的缘故吧。Mac下还有OmniWeb、Shiira等人气很高的浏览器。
google的chrome也使用webkit作为内核。
WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。
KHTML:
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交换更新会出现困难。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。
浏览器内核简介
经常听说各种不同的浏览器,IE、Opera、Firefox、Safari、The World还有现在的Chrome等。看似许多不同的浏览器,其实其中还是有很多相似之处。今天,我们就来了解他们的内核~!
那内核是什么呢?内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。
不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。
这就是编写网页的麻烦所在啊。。。要让所有浏览器显示大概一致,有时候很麻烦。
现在市面上常见的 内核基本是一下4种:
Trident:
这是微软开发的一种排版引擎。该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内 核名称而只好如此说,至少老N就是如此。。。)。自从发布后,Trident不断地被更新和完善:
Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;
Trident III(IE5.5)——修正部分CSS的排版控制;
Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;
Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。(这就是IE6经常被诟病的对png图片支持不良的之处!)
Geckos:
Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,Netcape6开始采用该内核。后来的 Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Geckos 现在由Mozilla基金会维护。
Presto:
Presto是一个由Opera Software开发的浏览器排版引擎,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核。
Webkit:
苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软 件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以 Safari浏览器在国内还是很安全的。
简单的总结一下:
使用Trident内核的浏览器:IE、Maxthon、TT、The World等;
使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;
使用Presto内核的浏览器:Opera7及以上版本;
使用Webkit内核的浏览器:Safari、Chrome。
分享到:
相关推荐
**Cef浏览器内核**是基于Chromium Embedded Framework (CEF) 的一款开源浏览器组件,它为开发者提供了在C#编程环境中构建嵌入式浏览器应用的能力。CEF是一个强大的框架,允许开发者将Chromium浏览器引擎集成到自己的...
浏览器内核是构建网页浏览器的核心组件,它负责解析HTML、CSS、JavaScript等Web标准语言,渲染页面,并与用户的交互进行处理。"WebKit.NET-0.5"是一个将Chrome浏览器的内核WebKit移植到.NET框架的项目,使得开发者...
#### 二、浏览器内核简介 浏览器内核,又称渲染引擎或浏览器引擎,是浏览器的核心组件之一。它负责解析网页的各种元素,如HTML、CSS、JavaScript等,并将其转换为用户可以在屏幕上看到的形式。简而言之,内核是...
#### 一、浏览器内核简介 浏览器内核,或称渲染引擎,是浏览器的核心组件,负责解析网页代码并将其转化为用户可识别的视觉界面。它主要处理HTML、CSS和JavaScript,确保网页能够正确展示。在移动互联网时代,浏览器...
开源浏览器内核原码是软件开发领域中的一个重要话题,它涉及到如何构建、理解和修改网络浏览器的核心组件。在本案例中,我们关注的是一个名为“csEXWB”的项目,这是一个基于C#语言的开源浏览器内核。C#是一种现代、...
腾讯X5浏览器内核是腾讯开发的一款高性能、高效能的移动设备浏览器核心,它被广泛应用于许多Android应用中,提供快速的网页加载速度和优秀的页面渲染效果。在本"腾讯X5浏览器内核静态集成demo"中,我们将探讨两种...
浏览器内核检测工具浏览器内核检测工具浏览器内工具.核检测工具浏览器内核检测工具浏览器内核检测工具ss
Android framework 系统编译 新版WebView浏览器内核101.0.4951.61
VB环境下使用非IE内核的浏览器控件,Google
浏览器内核是构建浏览器的核心组件,它主要负责解析和呈现网页内容。在计算机科学和互联网领域,渲染引擎或浏览器内核对于用户与网络世界的交互起着至关重要的作用。不同的浏览器内核有着各自的特点和解析机制,这...
浏览器内核Chromium 84是Google Chrome浏览器的核心组件,它是开源的,允许开发者们根据自己的需求进行定制和改进。这个版本在2020年发布,主要关注性能优化、安全更新以及对Web标准的支持。在游戏开发领域,尤其是...
标题“得到浏览器尺寸,判断浏览器内核”涉及的是前端开发中的一个重要方面,即浏览器兼容性和用户界面交互。这篇博文可能是关于如何获取浏览器窗口的尺寸以及识别浏览器所使用的渲染引擎(内核)。在网页开发中,...
标题中的“cpp”通常指的是C++编程语言,而“wke”和“libcef”是两种不同的浏览器内核。在IT行业中,浏览器内核是控制网页渲染和与用户交互的关键组件。现在,我们来深入探讨这个话题。 首先,Wke(Webkit for ...
浏览器内核是浏览器的核心组成部分,主要负责解析网页的HTML、CSS和JavaScript,将这些内容转换成用户可以交互的可视界面,也就是我们常说的渲染引擎。它处理从网络接收的数据,执行脚本,与操作系统交互,确保...
浏览器内核的选择直接影响到浏览器的性能、兼容性和网页展示效果。以下是一些关于浏览器内核的重要知识点: 1. **Trident内核**:由微软开发,主要用于Windows平台上的Internet Explorer系列浏览器。Trident内核因...
Java调用Chrome浏览器内核是开发桌面应用时一个常见的需求,尤其在需要嵌入Web页面或者与Web内容交互的场景下。CEF(Chromium Embedded Framework)是一个开源项目,它允许开发者将Google Chrome的Blink渲染引擎和V8...
E4AQQ浏览器内核类库.zip是E4A类库。里面还有别的三个类库
测试浏览器内核版本
判断浏览器内核是微信还是QQ 安卓还是IOS 根据结果写样式与方法