浏览器内核

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。

  2010年4月8日最新的搜狗浏览器也是采用了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加入新功能及加快其排版速度。

基于Geckos内核的浏览器

Firefox浏览器

  

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

Redfox浏览器

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

Madfox浏览器

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

DR.Orca浏览器

  Dr.Orca是一款方便、实用的单窗口多页面浏览器。它基于Geckos引擎,除了拥有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日)的常用简称。网景通讯公司曾经是一间美国的电脑服务公司,以其生产的同名网页浏览器而闻名。

基于Presto内核的浏览器

  Opera浏览器

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

基于Kestrel内核的浏览器

  Opera 9.5 之后版本

  最新正式版Opera 9.5使用了Kestrel内核,全新 的内核使Opera 9.5速度更快,且它支持开放网页标准。其中Opera Link功能可以使用户自由连接使用Opera浏览器的设备。最新的Opera 9.5浏览器可以在Windows、Mac及Linux操作系统下完美运行。用户可以在Opera官方网站上免费下载

基于多种内核的浏览器

  Google Chrome

  Google Chrome,中文名为谷歌浏览器,是一个由Google公司开发的开放源代码网页浏览器。本软件的程式码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。

  它采用Trident内核与WebKit内核,但和Safari、Firefox、IE都不一样,不过开发这个引擎的很多人也参与了Firefox内核的开发。

基于Webkit内核的浏览器

  Apple Safari 浏览器

  Safari,苹果计算机的最新作业系统Mac OS X中新的缺省浏览器,用来取代之前的Internet Explorer for Mac。Safari使用了KDE的KHTML作为浏览器的运算核心。 目前该浏览器已支持Windows平台。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java中获取浏览器内核可以通过以下方式实现: 1. 使用User-Agent:可以通过获取客户端的User-Agent信息,从中提取浏览器名称和版本号来判断浏览器内核。通常,在User-Agent字符串中会包含浏览器的标识符和内核的版本信息。 2. 使用第三方库:可以使用第三方库来获取浏览器内核的相关信息。例如,可以使用库如"BrowserDetector"或"BrowserLauncher2"来获取浏览器的相关信息,包括内核信息。 3. 解析HTTP请求头:可以通过解析HTTP请求头中的"User-Agent"字段来获取浏览器内核的相关信息。使用Java的HTTP请求库,可以获取请求头的所有字段值,然后从中提取出浏览器内核的信息。 需要注意的是,以上方法都是基于浏览器发送的HTTP请求头中的User-Agent字段来判断浏览器内核,但是由于User-Agent可以被客户端篡改,所以无法保证100%准确性。此外,不同浏览器会使用不同的内核,因此在判断浏览器内核时应考虑到各种可能性。 ### 回答2: 要获取浏览器内核,可以使用Java中的User-Agent属性。User-Agent是浏览器发送给服务器的一个HTTP头部字段,用来标识浏览器和操作系统的信息。通过解析User-Agent,我们可以获取浏览器的内核信息。 在Java中,可以使用HttpServletRequest对象来获取User-Agent属性。首先,需要通过请求对象获取User-Agent属性的值,代码如下: ``` String userAgent = request.getHeader("User-Agent"); ``` 然后,我们可以通过正则表达式或其他方法来解析User-Agent,获取浏览器内核的信息。以下是一些常见浏览器内核的识别方法: 1. Trident内核(IE):匹配字符串"Trident"或"MSIE" 2. Gecko内核(Firefox):匹配字符串"Gecko"和"Firefox" 3. Webkit内核(Chrome、Safari):匹配字符串"Webkit"和"Chrome"或"Safari" 4. Presto内核(Opera):匹配字符串"Presto"或"Opera" 根据不同的内核,我们可以采取不同的处理逻辑。例如,根据内核选择使用特定的CSS样式或JavaScript代码。 综上所述,通过解析User-Agent属性,我们可以获取浏览器的内核信息,并根据不同的内核进行相应的处理。 ### 回答3: 要获取浏览器内核,我们可以使用Java编写一个简单的程序。首先,我们需要通过Java的网络编程功能,连接到目标网站,并获取目标网站的响应。 我们可以使用Java的URL类来创建一个URL对象,然后使用URLConnection类的openConnection()方法来打开与目标网站的连接。接下来,我们可以使用URLConnection对象的getInputStream()方法获取与目标网站的输入流。 要获取浏览器内核,我们可以检查目标网站的响应中的“User-Agent”标头。因为浏览器在发送HTTP请求时通常会在“User-Agent”标头中包含浏览器内核的信息。 可以通过URLConnection对象的getHeaderField()或getHeaderFieldKey()方法来获取“User-Agent”标头的值。我们可以通过判断此值是否包含特定的浏览器内核来确定浏览器内核。 例如,如果目标网站的响应中的“User-Agent”标头包含“WebKit”字符串,则可以判断该浏览器内核Webkit内核。同样地,如果包含“Trident”字符串,则判断为Trident内核;如果包含“Gecko”字符串,则判断为Gecko内核。 最后,我们可以通过打印相应的信息来展示浏览器内核。 总之,使用Java编写的程序可以通过获取目标网站的响应,并检查其中的“User-Agent”标头信息,以获取浏览器内核的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值