目前,从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规范提供完全的支持狢SS样式为网站开发者和用户控制网页显示方式带来便利,它允许网页开发者灵活方便地控制网页的显示布局,而不必编写繁冗的代码,但由于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显然具有更出色的可用性。
Mozilla Firefox:终结“IE标准”
Firefox无疑是过去一年间最热门的浏览器产品,它的流行很大程度得益于IE 6.0层出不穷的安全缺陷以及大量恶意的垃圾软件。Firefox完全避免了这些问题,在1.0版本正式推出之后,获得外界的热烈响应,到目前为止,Firefox的下载量已突破1亿,市场占有率也突破10%的大关,创造了浏览器市场的一大奇迹。
图3 早期版本的Firefox(Firebird),简洁的界面风格已然确立。
Firefox的起源和软件品质
作为一个开源项目,Firefox可以说是Netscape最天然的继承者,尽管它的代码经过完全重写。我们知道,Netscape被AOL收购之后就无所作为,虽然先后推出4.X、6.X乃至7.X系列,但都毫无影响力可言。2003年7月,AOL冻结了死气沉沉的Netscape项目并将大部分开发人员解雇,Netscape源代码也被顺手赠送给开源社群,同时协助成立非盈利性的“Mozilla基金会(Mozilla Foundation)”负责该项目,这样,Netscape从此就以Mozilla的名称继续浏览器之旅—Mozilla取材于Mosaic浏览器和Godzilla(哥斯拉怪兽,我们可以看到Mozilla的程序图标是一个怪兽图案),它其实是Netscape最早的开发项目代号。在当时,开源协作模式远未成型,AOL对此显然不抱任何期望,但未料到这个开源项目开始获得了一定的成功。
在接手Netscape源代码的时候,Mozilla项目的开发者发现其代码存在太多先天缺陷,导致程序臃肿、运行缓慢,几经商讨之后,开发者决定从零开始对浏览引擎的代码进行重写,这项工作费时费力,但Mozilla也由此脱胎换骨,变得快速而高效。不过,Mozilla一开始是以“浏览器+邮件客户端”的套件形式存在,相当于Netscape Communicator套件的后续。开发者希望能够让程序更加高效精简,遂决定将浏览器与邮件客户端各自独立,由此衍生出Mozilla Firefox和Mozilla Thunderbird两个开源项目,Firefox的旅程也从此开始。
在1.0版推出之前,Firefox其实发展了相当漫长的时间,开发者之前还一度选择Firebird、Phoenix等两个名字,从0.6版之后才正式定名为Firefox。在这期间,Firefox的用户群仅限于少数专业人士及开发者。经过漫长的Beta版和数次跳票之后,Firefox 1.0于2004年11月正式发布,卓越的安全性、稳定性、低资源消耗以及不错的兼容性让人们对这款新兴浏览器产品产生了浓厚的兴趣,基于安全性的理由,许多商业企业、科研机构和大学都将Firefox作为IE的最佳替代品。为了推广Firefox,Mozilla基金会甚至发起一场声势浩大的募捐活动—“花30美元在《纽约时报》上刊登自己的名字”,这句口号最终吸引到了一万多名募捐者慷慨解囊,借助30万美金的捐款,Mozilla基金会顺利地在《纽约时报》上为Firefox作了一整版的广告,此举让Firefox的知名度飙升,短短两周内就吸引百万网民下载Firefox使用;自此往后,Firefox便一直保持着高速发展态势,市场份额也稳步增长。
卓越的安全性是Firefox吸引用户的首要原因—它只是 *** 作系统中的一个普通应用软件,与系统本身并没有高度整合,这样即便浏览器存在安全漏洞,对系统造成的危害也不会像IE那么严重。其次,开源协作模式让Firefox的Bug修订速度相当之快,只要代码漏洞被披露,在很短的时间内就可获得修补—在1.0版推出后,Firefox也爆出过数次严重的安全漏洞,但这些漏洞在产生破坏之前就被补上,衍生出1.02-1.07多个版本;相比之下,微软对IE安全性反映迟缓,更新速度极慢,加重了人们对IE的不信任感,这些因素都促使Firefox的高速增长。
Firefox的辉煌成功对浏览器市场产生了深远的影响,IE神话被彻底打破,其他的第三方浏览器开发者也看到属于自己的机遇,并对新品开发给予极大的热情。更重要的是,Firefox的成功让网站开发者不得不考虑到对Firefox的兼容性,回归到W3C技术规范成为共识;而大量的Firefox忠实拥护者也都不遗余力的帮助宣传Firefox,督促部分未遵循W3C规范的网站对代码进行重写—尽管今天尚有许多网站对Firefox兼容不佳,但这种现象将随着时间的推移日渐减少,浏览器市场将迎来一个公平竞争的环境,不同产品将在安全性、性能、使用便易性和人性化功能方面一决高下,这对于微软显然不是什么好消息。而受Firefox的吸引,实力雄厚的Google也对它抱有浓厚的兴趣,将Firefox的主要开发者招至麾下,这位互联网巨人也开始介入浏览器市场,以期增强与微软对抗的实力。除了对浏览器市场产生深远影响之外,Firefox的成功也催生了一种特有的文化—Firefox功能强大,可以通过插件来增强功能,同时也支持主题更换;许多爱好者都纷纷加入插件、主题的制作活动中,并创建了数量众多的BBS讨论社区;更令人意想不到的是,美国HBO家庭影院频道为了对新剧《罗马帝国》作宣传,特意通过自己的互动公司Deep Focus制作了一套精美的Firefox皮肤,人们发现Firefox的皮肤居然还有商业宣传的功能(或许UI设计高手也可以从中找到一门新的生意,譬如为商业公司或个人定制Firefox皮肤什么的)。开放性的结构让Firefox的用户群体不断壮大,而只要用上Firefox,便很难摆脱它的诱惑力,因此Firefox拥有非常高的用户忠诚度,这也为Firefox的未来发展奠定了坚实的基础
详细情况请参考http://tech.163.com/06/0106/11/26PI060O000917GR_3.html
选择html文件---邮件---打开方式(或者默认打开方式)---选择chrome浏览器 然后你再看html文件时 图标都变成chrome图标样式 那就成了你虽然定义了默认浏览器 但是系统并没有决定文件是用浏览器打开的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)