转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 常用软件 >> 正文
网页浏览器内核与外壳的是是非非         

网页浏览器内核与外壳的是是非非

作者:闵涛 文章来源:闵涛的学习笔记 点击数:665 更新时间:2009/4/24 22:51:45

  感谢大眼夹的投递

  新闻来源:原创

  自从网页浏览器诞生之日起,各公司间的竞争、各“派别”拥护者之间的争吵,就从未停止过。直至今日,包括Internet Explorer、Firefox、Safari、Opera、Maxthon等各式各样的网页浏览器在市场上争奇斗艳,好不热闹。当然这其中也少不了恶意垄断、枪手炒作、网友争论等等。

  事实上,还有很多人对浏览器的一些特性还不甚了解,所以就会有诸如“MT再好也只是一个壳”“有本事像FF那样自己弄内核去”“FF比IE的安全性高多了”这样的言论。起初,我对这些也不甚了解,也不愿参与这些争论。后来我慢慢地接触到了一些关于浏览器的东西,不敢独享,整理出来以FAQ的形式和大家分享,希望能提高大家对网页浏览器这种软件的认知度。

  ※本文文本为大眼夹原创,其中部分资料来自于Wikipedia等网络媒体,力争保持自己的言论的中立性。

  Q1:经常听人家说什么浏览器“内核”和“外壳”,它们都是什么意思?

  A1:“内核”只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。

  而浏览器的“外壳”便很好理解了,它是一个面向用户的界面,也就是网页浏览器为我们实现的各种功能。

  Q2:浏览器的内核有哪些?

  A2:事实上,有很多种(废话!),但是常见的有Trident、Gecko、WebCore、Presto等。

  Q3:Trident是什么内核?

  A3:Trident(又称为MSHTML),是微软开发的一种排版引擎。它的第一个版本随着1997年10月Internet Explorer第四版的发布而发布。随后,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通道(半透明)的支持

  不光是IE,Windows中的许多地方也使用了Trident的技术,包括从Windows 98到Windows Server 2003所有版本的Windows Explorer、Windows 98及其后续所有版本的视窗操作系统内的Windows Help程序。此外,像RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等也使用了Trident技术。也正因为如此,Trident无法从Windows系统中彻彻底底地卸载掉,就算是彻底卸载了,Windows的许多功能也会出现问题。

  使用Trident内核的网页浏览器有:AOL Explorer、Avant、Internet Explorer、Maxthon、Netscape Browser (v.8)、Sleipnir、TheWorld、腾迅TT等。

  Q4:Gecko是什么内核?

  A4:Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。

  由于Gecko是开源的,所以使用Gecko的网页浏览器也很多,其中的领军人物便是Mozilla Firefox。此外还有AOL for Mac OS X、Camino、Epiphany、Flock、Galeon、Netscape Browser (v.8)、Sleipnir、Maxthon等。

  Q5:WebCore是什么内核?

  A5:WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品。使用WebCore的主要有Safari,此外还有OmniWeb、Shiira、Swift等。

  Q6:Presto是什么内核?

  Q6:Presto是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。此外,Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的内核。

  Q7:(强烈推荐)浏览器的内核和外壳有什么联系?

  A7:刚才已经说到,内核负责处理网页的内容,而外壳负责提供给用户一些功能。外壳的某些功能是需要联系到内核的,比如保存网页上的图片;而有些功能是不需要经过内核的,比如前进后退功能(当然,在载入了URL以后还是需要经过内核的)。

  相信大家都使用过XP中控制面板里的“用户帐户”功能,这实际上可以给我们一个更加感性的认识。用户帐户的操作界面实际上就是一个小型且功能单一的网页浏览器,它通过调用IE内核来显示主界面,而上方的“上一步”“下一步”等按钮便是浏览器外壳所提供的功能。

  说到这里,我们可以回看文章开头提到的一些网友的言论。有些人认为,Maxthon仅仅是附庸在IE之上的一个浏览器,根本不值得和IE、Firefox相提并论。这其实并不妥当。首先,Maxthon是支持Trident和Gecko双内核的(支持Gecko内核时需要单独安装Gecko组件,而且目前的2系列貌似没有Gecko内核支持),所以它并不是“IE的附庸”。此外,我们已经知道,浏览器分有内核和外壳两部分。以这个眼光来看,Maxthon是Maxthon Shell+Trident(或Gecko),而Internet Explorer是IE Shell+Trident,Firefox是FF Shell+Gecko,这三款浏览器的地位实际上是一样的。只不过IE Shell和Trident都是微软开发,而FF Shell和Gecko都是Mozilla基金会在维护。同时,说IE是“IE内核”,FF是“FF内核”也是不准确的,毕竟弄IE Shell和Trident的肯定不是微软的同一个小组,而FF Shell和Gecko肯定也不是Mozilla基金会的同一个小组在维护(更何况Gecko原来也不是Mozilla开发的,原先Mozilla只是网景公司的非正式组织)。当然不可否认,拥有了内核和外壳的微软和Mozilla,在开发浏览器的能力方面肯定是要高于Maxthon的,Maxthon不可能掌握到关键技术。

  Q8:各种内核哪一个更好一点呢?

  A8:哪一个更好,这个问题的确很难回答,应该说是各有侧重点。Trident内核使用最多,因此很多网页甚至只兼容Trident内核,而导致使用Gecko时会出现各种各样的问题。但是Trident也是最“乱”的一个内核。而Gecko、WebCore、Presto则更符合各种国际标准,显得更加“严谨”。

  Q9:各种内核都有些什么不同呢?

  A9:这个问题,在wikipedia上有非常详细的说明。现把相关链接列表如下:

  排版引擎比较(概述)

  排版引擎比较(HTML)

  排版引擎比较(XML)

  排版引擎比较(XHTML)

  排版引擎比较(图形)

  排版引擎比较(CSS)

  排版引擎比较(DOM)

  排版引擎比较(WHATWG)

  排版引擎比较(ECMAScript)

  排版引擎比较(SVG)

  Q10:有没有什么组织对排版引擎做测试的呢?就像杀毒软件界的VB100%那样?

  A10:还真有这么一个组织,它叫做网页标准计划小组(Web Standards Project)。他们推出了一个综合测试的网页,取名为Acid。由于现在的是第二版,所以又叫Acid2。

  该测试页透过严谨的编码,可快速辨认网页排版的漏洞,而测试要求是排版引擎需能排出如下图中的笑脸,在测试刚推出时,没有一个浏览器可排出要求的图像。

网页浏览器内核与外壳的是是非非

  目前能够完全显示出正确图形的浏览器有:Safari 2.0.3、Konqueror 3.5、Opera 9、Mozilla Firefox 3.0 Alpha、iCab、Prince 5.1等。下面列出了其他未通过浏览器的表现(图片属于Public Domain)

网页浏览器内核与外壳的是是非非

  ↑Acid2在IE6下的表现

网页浏览器内核与外壳的是是非非

  ↑Acid2在IE7下的表现

网页浏览器内核与外壳的是是非非

  ↑Acid2在FireFox1.5和2.0版本下的表现

网页浏览器内核与外壳的是是非非

  ↑Acid2在Netscape7.2下的表现

  如果大家有兴趣,也可以去测试测试。Acid2的测试网址在:www.webstandards.org/files/acid2/test.html。

  具体的测试技术详解在:www.webstandards.org/action/acid2/guide/。

  通过前面10个问题的解答,相信大家已经对网页浏览器的内核和外壳,特别是内核,有了更深的了解。我同时希望各位今后在讨论问题的时候少一点激进,多一点文明,少一点无赖,多一点睿智。

  撰文&投递:大眼夹

  clippit.blogcn.com


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台