欢迎光临周浪zhoulang (Eastwave) 的博客主页本博客在线提供全方位的、系统的、全面的最新新闻资讯技术等。涉及工业商业IT科教百科国际军事科普文化艺术旅游数码通讯影音娱乐体育休闲购物物流房产工作生活的方方面面。重点主要凸现在IT的计算机电脑互联网SEO搜索引擎网页设计HTMLDHTMLXMLCSSPHPASPSQL数据库JavaCC++Flash三维动画广告设计平面设计动画制作计算机应用;以及计算机网络电子邮件软件技术黑客技术电脑游戏电子竞技主页空间主机域名博客社区下载论坛计算机技术
posts - 12, comments - 340, trackbacks - 0, articles - 627
  首页  :: 联系 :: 订阅 订阅  :: 管理

2006浏览器进入多元化发展

Posted on 2006-05-04 17:39 Eastwave周浪 阅读(...) 评论(...) 编辑 收藏

2006浏览器进入多元化发展



浏览器是计算机系统最重要的应用软件之一,但多年以来,人们并没有给予它足够多的重视,这很大程度上应归结于浏览器市场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。 

浏览器的逻辑结构,由排版引擎和用户界面复合而成。
 
 
微软IE 7.0未遵循W3C规范

尽管IE因安全性差、使用不便、不遵循W3C规范备受外界指责,但它仍然牢牢把持着浏览器市场的垄断地位,这很大程度上得益于上个世纪末那场举世瞩目的浏览器大战。如果您详细阅读过本刊第4期《Firefox技术与应用指南》一文,便会了解到IE与Netscape系出同源,两者都是在NCSA  Mosaic浏览器的基础上发展而来。在上个世纪90年代中期,互联网刚刚开始发展,Netscape公司率先推出1.0-1.2版浏览器,抢占先机;微软虽然也很快就拿出IE 1.0浏览器,但Netscape更为成熟,且拥有牢固的用户基础,明显更受用户的欢迎。在整个 Windows 95时代,Netscape都是浏览器的代名词,而微软的IE 1.0到4.0,也都未能对Netscape构成实质性的威胁。有鉴于此,微软在Windows 98系统中将IE直接整合,使之成为操作系统的一部分,且用户都能以免费的方式获得。在 Windows 98推出之后,IE迅速扭转局面,Netscape市场大幅度下滑,在很短的时间内IE便把握主导地位。虽然Netscape 也计划以免费提供的方式进行反击,但还没来得及推行它就被AOL收购,尽管此后Netscape得到继续发展,但它的影响力日渐消失,最终让IE夺得超过 90%的垄断性份额。 

捆绑的策略让微软备受指责,并带来麻烦不断的反垄断官司,但这些困扰都没有对IE带来事实性的阻碍,当微软完全掌控浏览器之后,它便可以反过来对网页标准产生影响。我们知道,在IE、Netscape相互竞争期间,两者都很好地遵循W3C界定的相关技术规范,打开网页的效果也完全相同,对用户而言,采用何种浏览器在兼容性、性能和软件品质方面区别不大。而当微软IE逐渐占据主导地位的同时,微软也将触角衍生到网页设计领域,它所推出的ASP(Active Server Pages,动态服务器页面)应用程序环境和Frontpage网页设计工具被广泛应用,但微软对这两者作了些手脚,使之与W3C的相关规范不相符合,这样采用此两项技术开发的站点也就不完全符合W3C规范—在IE浏览器中,这些站点生成的 HTML代码可以被正确解释,但其他的第三方浏览器均严格遵循W3C标准,加之开发者不可能了解微软对浏览器的HTML代码格式作何改变,从而出现无法正常显示页面内容或功能残缺的严重后果。换句话说,微软事实上形成了非官方的网页格式标准,W3C被它成功边缘化,由于大量的网站都与IE相适应,微软就可以将优势一直保持下去。这种优势不仅仅体现在浏览器方面,对操作系统的影响也显而易见—如果不使用Windows,你就无法使用IE;如果不使用IE,你就无法正常访问许多站点,这样消费者将不得不永远使用Windows。 

在掌握主导权之后,微软对IE也失去了兴趣,IE的发展基本陷于停滞,微软甚至都懒得对其用户界面作更新,至于W3C制定出的许多技术规范微软也熟视无睹。但随着时间的推移,IE的缺陷开始暴露:不支持标签浏览、资源占用率高,而最让人难以忍受的是IE的安全性差,在遭受攻击时往往连累整个操作系统,其中的原因在于IE采用ActiveX技术与Windows进行深度整合,而ActiveX本身又存在大量的安全漏洞,入侵者只要利用这些漏洞编写出带病毒或恶意代码的ActiveX网页,那么只要用户使用IE来访问这些网页,恶意代码就会攻击整个操作系统。由于ActiveX技术遍布各个版本的Windows系统、IE浏览器和Outlook邮件客户端,后两者也就成为恶意代码、病毒攻击的重灾区,微软不得不一个漏洞接着一个漏洞地修补,严重损害了Windows系统的形象,这也促使微软开始痛定思痛对安全性给予前所未有的重视。在IE焦头烂额的时候,Firefox浏览器适时推出, Firefox以高安全性、简洁高效为亮点吸引了大量的用户,IE的市场占用率也因此一路下滑,而Firefox的流行事实上也带动了其他的第三方浏览器产品,微软在该领域的垄断地位遭遇强有力的挑战。有鉴于此,微软也对浏览器计划作大幅度修改,决定推出独立版本的IE 7.0接替现在的 IE 6.0 SP2,而人们也对此报以极高的期待。 

安全性是IE 7.0关注的首要目标。微软表示,IE 7.0将具备“反捕钓攻击”、病毒自动清除等功能,能够有效抵挡病毒和恶意代码的入侵—但受到ActiveX技术的限制,IE 7.0无法从根本上解决问题,让病毒或恶意代码不能通过浏览器来攻击操作系统,所以只能通过被动防护的方式加以保护。另一方面,Windows Vista和未来的Windows XP  SP3在安全方面都将有质的提升,通过不断优化程序代码以减少漏洞数量,这些措施都让Windows平台的安全性有显著的改善,大大增加了病毒、恶意代码入侵系统的难度。尽管底层的隐患依然存在,攻击手段也将更加多样化,但我们仍有理由相信IE 7.0的安全性将大有改观。 

对W3C规范的兼容能力是IE 7.0的主要着眼点。W3C制定了许多先进的技术规范,而IE长期对此视而不见,部分业界人士曾一厢情愿地盼望微软能够服从大局,从IE 7.0开始重新回到W3C的轨道上,促使互联网应用朝着正确的方向发展;而微软对此种建议显然不太热衷,他们更多倾向于在支持W3C各类先进的技术规范基础上,对相关规范给予部分兼容,这样就可以在保持技术先进性的同时,继续创建“IE事实标准” 让W3C被持续边缘化。例如,现有的IE 6.0未对W3C制定的CSS规范提供完全的支持—CSS样式为网站开发者和用户控制网页显示方式带来便利,它允许网页开发者灵活方便地控制网页的显示布局,而不必编写繁冗的代码,但由于IE无法完全支持这一特性,开发者不得不浪费大量的精力来编写许多额外的显示代码方能够“兼容IE”,以至于许多开发者都宁愿在Mozilla平台上进行调试。微软很早就意识到这个问题,但它并不想完全遵循W3C。在 IE 7.0中,微软打算对CSS 2.0标准提供部分的支持而非完全遵循,意图通过事实标准阻碍第三方浏览器的发展。而在今天,几乎所有的网站开发者都意识到遵循W3C规范的重要性,许多原有不遵循该标准的网站也都纷纷进行改写,面对此种情形,IE 7.0采取不完全遵循 W3C规范的做法虽然在一定程度上会打击竞争者,但微软已经不可能再度上演标准劫持的好戏。换句话说,所谓的IE标准将越来越没有市场,遵循W3C技术规范将成为开发者的共识,对第三方浏览器和非Windows操作系统来说绝对是个令人兴奋的好消息。 

除了部分支持CSS 2.0规范外,IE 7.0的核心引擎还将加入对透明PNG(可移植网络图形)的支持,使浏览器可显示出覆盖图,这当然谈不上是什么先进功能,只是说明IE 7.0不会继续在技术特性上落后于时代。而在用户界面和人性化方面, IE 7.0也将有明显的改善:首先,IE 7.0将引入标签浏览功能,以便用户可以更方便地在各个网页间切换,同时也可有效降低系统资源的占用率;其次,IE 7.0将内置一个新闻聚合器(Aggregator),用户无需第三方工具就可以直接阅读RSS内容,改变功能落后于Firefox、Opera等产品的局面。其它方面的修改主要体现在界面上,常见的菜单栏被隐藏,浏览器操作面板上只有地址栏、搜索栏、书签工具栏和标签栏,不难看出,微软在IE 7.0的界面设计上参考了Firefox。 

从以上种种情况来看,IE 7.0仍然是在6.0基础上进行改良,在技术上谈不上具有飞跃式的进步。但尽管如此, IE 7.0仍然具有首屈一指的软件品质:网页兼容性进一步提高、方便的标签浏览功能以及大大提高的安全性,软件可用性将大幅超越现有的6.0 版;而相对于Firefox和Opera等第三方浏览器,IE 7.0在网页兼容性方面存在明显的优势—普通用户并不会关心IE  7.0是否符合W3C标准,更多从实用角度出发,IE 7.0显然可以重新获得用户的认可。不过,我们并不认为Firefox的市场份额会因此逐渐丧失,Firefox的用户群体大多拥有很强的标准情结,即便不考虑这些,Firefox强大的可定制性和灵活的扩展性也足以让用户玩上瘾;更何况 IE 7.0看起来固然安全,但基于Active X技术构建让它具有先天不足,Firefox的用户群大规模转向IE  7.0的可能性微乎其微。不过,诸如Maxthon、Greenbrower之类的IE内核浏览器就没有这么好的运气,对这类浏览器的用户来说, IE 7.0显然具有更出色的可用性。 


IE 7.0无论在安全性、标准升级和用户界面方面都有明显的进步。
--- 摘自:<软件中国>
Powered by .NET Core 3.0 Preview 8 on Linux


博客评分,欢迎投票: Google PageRank (Powered by MyPagerank.net) Google Bot Last Visit (Powered by GBotVisit.com) Yahoo Bot Last Visit (Powered by MyPagerank.net) MSN Bot Last Visit (Powered by MyPagerank.net) Website Counter (Powered by RedCounter.net)