打印本文 打印本文 关闭窗口 关闭窗口
2006 浏览器进入多元化发展
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1143  更新时间:2009/4/24 22:35:14  文章录入:mintao  责任编辑:mintao
  浏览器是计算机系统最重要的应用软件之一,但多年以来,人们并没有给予它足够多的重视,这很大程度上应归结于浏览器市场IE一家独大,缺乏竞争的格局,而IE在许多人心目中甚至已经成为浏览器的代名词,诸如Netscape、Opera等产品都被边缘化。

  目前,从Netscape衍生出了Mozilla项目及当前火热的Firefox浏览器;而Opera则坚持技术创新路线,凭借少数用户的支持一路走来,并在8.5版之后以免费的方式给用户自由使用;在此期间,苹果公司的Safari浏览器随着苹果平台变得愈来愈具有影响力。这个时候,浏览器市场开始形成多元化的格局,尽管微软IE依然占据80%以上的垄断份额,但业界意识到遵循公有标准的重要性,网站的兼容性也不断获得改善。在这些进展的激励下,浏览器领域呈现出前所未有的活跃:微软及时改变原有计划,将推出IE 7.0重夺优势;Firefox在1.0X版的辉煌之后朝向1.5和2.0版迈进,以先进的技术特性、卓越的安全性、标准化及高度可扩展性为亮点吸引用户;Opera推出9.0版本,它将以简洁、人性化和高速度取胜。至于苹果的Safari也将持续不断地进行改进,由于之前采用的KHTML引擎兼容性不佳,苹果可能采用自行开发的WebCore引擎,浏览器家族由此可能增加新的一员。

  在本文中,我们将向大家详细介绍浏览器的技术架构、现有状况及未来发展,它们包括微软的Internet Explorer(IE引擎)、Mozilla/Firefox/Netscape(Gecko引擎)、Opera(Opera引擎)、Safari/KDE Konqueror(KHTML引擎)等,其中各个浏览器及引擎的未来发展和W3C标准的走向将是本文的主要着眼点。

  W3C相关技术规范

  与常规的应用软件不同,浏览器是一个必须标准化的软件,原因在于它的交互对象是HTML代码。例如,当用户要通过浏览器访问某一个网站,用户必须首先在浏览器的地址栏中输入相应的网址,接着浏览器将向DNS服务器询问该网址对应的IP地址,并根据返回的结果直接定位到目标服务器;服务器与浏览器双方完成通讯握手之后,该网站对应的图文数据便被送到浏览器中—如果收到的是HTML代码和图片,浏览器对其进行解释之后形成页面显示,而如果遇到扩展名为ASP、CGI之类的脚本程序,解释工作就必须由服务器来完成,浏览器只能被动接收解释的结果并加以显示;当然,如果在结果中遇到HTML标记,浏览器就会启动解释程序,然后按HTML标记的要求将网页的内容显示在用户面前。

  在上述过程中,我们发现浏览器最核心的工作就是对HTML代码进行解释,而互联网上的网站数以亿计,如果不采用标准化的HTML代码格式,浏览器将根本无法完成解释工作。而如果要引进某一项新的功能,也必须预先进行标准化,再交由网站制作者和浏览器设计方共同实现。而承担这项任务的便是W3C组织—W3C(World Wide Web Consortium,万维网联盟)成立于1994年10月,它以开放论坛的方式对互联网络涉及到的各项内容进行标准化定义,在过去十年历史中W3C制定出包括HTML、XML、PNG网络图像格式、SVG可缩放向量图形、DOM(Document Object Model)、移动Web在内的大量技术标准,Web功能也在它的推动下获得飞速进化,从早期单纯的静态文本逐渐过渡到可显示出图像、动画、多媒体等丰富的内容,并具备高度可交互性。由于W3C的规范定义,互联网中承载的内容可获有效组织,如果网站和浏览器都遵循共同技术标准,那么浏览器便可以将网站页面完美显示—换种说法就是两者都具有良好的兼容性;而如果浏览器或网站未能遵循相同的标准,那么将会出现页面无法正常显示的严重问题—遇到这种情况,我们一般说浏览器兼容性不佳或者网站的兼容性不佳。

  不难看出,浏览器最核心的任务就是对HTML代码进行解释以及显示Web服务器的执行结果,承担这项任务的核心软件也被称为浏览器的“排版引擎(Engine,也称为网页渲染引擎)”,引擎的上一个逻辑层则是浏览器的“用户界面(UI)”,这两者结合起来构成一个完整的“浏览器(Browser)”。其中,引擎承担最核心的任务,它的交互对象是互联网中的Web服务器,浏览器采用何种标准、兼容性如何便完全取决于它,网页打开速度也很大程度上决定于引擎;用户界面则直接面向使用者,包括视觉外观、菜单/工具栏布局、按钮等与操作相关的元素由它界定。这两者只是松散的耦合关系:一个引擎可以采用多种不同的用户界面,衍生出多种不同的浏览器—由于引擎相同,这些浏览器在核心功能方面高度一致;反过来,一个用户界面也可以对应多种不同的引擎,不过这些产品虽然拥有共同的外观和操作方式,但在兼容性、性能和功能方面可能大有不同。目前,活跃于市场上的浏览器引擎主要有Trident/Tasman、Gecko、Presto、KHTML等四种,采用Trident/Tasman引擎的浏览器只有微软的Internet Explorer(Windows版和Mac版);采用Gecko引擎的包括Netscape 6/7、Mozilla、Mozilla Firefox及许多Firefox衍生型浏览器产品,Gecko在源代码层面上完全开放;采用Presto引擎的暂时只有Opera一种(7.0版以后),它具有核心精简、速度快等优点,拥有不少忠实的用户;而采用KHTML引擎的浏览器包括KDE桌面环境下的Konqueror和苹果Mac OS X平台下的Safari。


图1 浏览器的逻辑结构,由排版引擎和用户界面复合而成。

打印本文 打印本文 关闭窗口 关闭窗口