讨论Web开发技术的历史,当然要先说说Web的起源。众所周知,Web这个Internet上最热门的应用架构是由TimBerners-Lee发明的。Web的前身是1980年Tim Berners-Lee负责的Enquire(Enquire WithinUpon Everything的简称)项目。1990年11月,第一个Web服务器nxoc01.cern.ch开始运行,TimBerners-Lee在自己编写的图形化Web浏览器"WorldWideWeb"上看到了最早的Web页面。1991年,CERN(EuropeanParticle PhysicsLaboratory)正式发布了Web技术标准。目前,与Web相关的各种技术标准都由著名的W3C组织(World Wide WebConsortium)管理和维护。 2 X. E, W6 j# M0 O9 R+ S t" s b2 @+ A" I
从技术层面看,Web架构的精华有三处:用超文本技术(HTML)实现信息与信息的连接;用统一资源定位技术(URI)实现全球信息的精确定位;用新的应用层协议(HTTP)实现分布式的信息共享。这三个特点无一不与信息的分发、获取和利用有关。其实,TimBerners-Lee早就明确无误地告诉我们:"Web是一个抽象的(假想的)信息空间。"也就是说,作为Internet上的一种应用架构,Web的首要任务就是向人们提供信息和信息服务。 0 I- g2 ]4 a, s $ _, g. [& Q) d 很可惜,在Web应用日新月异的今天,许多搞技术的人似乎已经忘记了Web架构的设计初衷。他们在自己开发的网站或Web应用中大肆堆砌各种所谓的"先进"技术,但最终用户能够在这些网站或应用中获得的有价值信息却寥寥无几。这个问题绝不像评论者常说的"有路无车"或"信息匮乏"那么简单。一个Web开发者倘若忘记了Web技术的最终目标是提供信息和信息服务,他的愚蠢程度就丝毫不亚于一个在足球场上只知道卖弄技巧,却忘记了射门得分的大牌球星。从这个角度来说,评价一种Web开发技术优劣的标准只有一个,那就是看这种技术能否在最恰当的时间和最恰当的地点,以最恰当的方式,为最需要信息的人提供最恰当的信息服务。7 x" K( X. C' m% ?$ a
& A: V" j! A+ ?$ B6 y# D客户端技术的萌芽和演进 3 g7 p C/ ]9 ^" Q4 s. p # A" m7 S- n* N# N; [& G Web是一种典型的分布式应用架构。Web应用中的每一次信息交换都要涉及到客户端和服务端两个层面。因此,Web开发技术大体上也可以被分为客户端技术和服务端技术两大类。我们先来谈谈客户端技术的萌芽和演进过程。: ^2 S: X9 ?9 @# d, S* s8 ~
: l. Q/ v6 H! p6 y$ E Web客户端的主要任务是展现信息内容,而HTML语言则是信息展现的最有效载体之一。作为一种实用的超文本语言,HTML的历史最早可以追溯到上世纪四十年代。1945年,VannevarBush在一篇文章中阐述了文本和文本之间通过超级链接相互关联的思想,并在文中给出了一种能实现信息关联的计算机Memex的设计方案。DougEngelbart等人则在1960年前后,对信息关联技术做了最早的实验。与此同时,TedNelson正式将这种信息关联技术命名为超文本(Hypertext)技术。1969年,IBM的CharlesGoldfarb发明了可用于描述超文本信息的GML(Generalized MarkupLanguage)语言。1978到1986年间,在ANSI等组织的努力下,GML语言进一步发展成为著名的SGML语言标准。当TimBerners-Lee和他的同事们在1989年试图创建一个基于超文本的分布式应用系统时,TimBerners-Lee意识到,SGML是描述超文本信息的一个上佳方案,但美中不足的是,SGML过于复杂,不利于信息的传递和解析。于是,TimBerners-Lee对SGML语言做了大刀阔斧的简化和完善。1990年,第一个图形化的Web浏览器"WorldWideWeb"终于可以使用一种为Web度身定制的语言--HTML来展现超文本信息了。2 n2 N4 x; U$ }! q
% \6 t& X# D8 ]. z" y, f V 1.0(1997):基于文件的版本,实现新闻首页、正文和专题的发布。" L7 F+ y& j2 U' H
V 1.1(1998/12):采用数据库后台、实现跨服务器发布,自动化程度高。) n' x/ l$ Y. d' I2 g" q. A4 V# U
V 2.0(1999/3):创立模版和域的全新概念,奠定了该系列的基本设计思路。) T/ P+ }! D" O; L9 a! E3 A8 {
V 2.1(1999/9):增加周边模块,如搜索、自动采集。 ' K7 ^) n# o0 ^1 B V 3.0(2000/1):优化传输方式,增加相关新闻和评论。 ) \4 L! z$ }2 M- I+ @8 j5 R6 t V 3C(2000/6):V3.0的编译版,也是商业版的原型。$ Y6 w2 }$ N" w* g x
V 3.1(2000/7):优化数据库结构,采用内存CACHE大幅提速,增加了集中监控功能。: W# {, a3 ^& H. |, ^9 E
V 3.1C(2000/8):商业用测试版本。 0 t; Q7 X' Z1 I+ m, W# d" v! q V 3.2(正在制作中):重点解决备份系统的自动化切换,在机制上实现永不宕机。 ( {# d% z* R0 [* r( j/ F5 e! A + J0 G0 K; n0 C+ K' X 这一份有趣的历史记录再一次印证了我关于Web开发技术的基本观点:一种技术只要能为用户提供高水平的信息服务,它就是最好、最先进的技术。; n- r* b. O# |- L
* Y% E* [5 I' B, Y4 `Web开发技术的未来 2 S' D, W/ O0 t: ^ 4 Z: y1 l; x8 T0 r. z+ s3 ]4 q 所有人都在关心Web的发展前景,所有人都想知道十年以后的Web会长成什么样子。要回答这些问题,没有谁比W3C更有权威了。W3C明确地告诉我们,Web的未来是语义化的Web(SemanticWeb)。今天的Web可以自如地生成、传递和展现各式各样的信息,但它还只是一个信息的"容器",很难揭示出信息本身的内容和特性。与此相对的是,未来的语义化Web是一种懂得信息内容的Web,是真正的"信息管理员"。5 e1 S: [( Y" m$ P- q
Y% t n2 b! f7 s( O
从技术角度看,XML语言统一了信息的表达方式,但这离揭示信息内容的目标还相距甚远。1998年,W3C和一些研究机构开始对元数据(Metadata)进行研究。元数据是描述数据的数据,可以揭示信息的内容特性。1999年,NetScape提出的RSS(Rich SiteSummary)建议标准是用元数据技术描述新闻等信息内容的第一次尝试。1999年,W3C的研究小组提出了RDF(ResourceDescriptionFramework)标准草案。RDF在XML语法的基础上,规定了元数据的存储结构和相关的技术标准。使用RDF语言,我们可以用统一的、可交换的格式揭示出信息本身的各种特性。2001年,W3C又开始着手制定OWL(OWL Web OntologyLanguage)标准。OWL语言也是一种符合XML标准的语言,它比RDF又前进了一步,可以更加深入、细致地描述信息内容。在RDF和OWL语言的帮助下,我们能让Web上的信息内容变得更容易理解、更便于交换和共享。2003年,W3C成立了语义化WebService研究小组(Semantic Web Services Interest Group),研究在WebService中加入语义技术的相关问题。2004年2月,W3C宣布RDF和OWL标准正式成为W3C的建议方案,这标志着语义化Web的大厦已经破土动工。 ' z0 [, X$ Z5 `; b, g- x5 h" w+ v; U* T
随着语义化Web的诞生和发展,Web开发技术也必将经历更为重大的变革。可以预见的是,在未来的几年里,还会有许多新的开发技术或开发平台出现。从静态技术到动态技术,从开发平台到应用模型,从传统Web到语义化Web……为了让更多的人获得更有价值的信息服务,Web开发者们也许还会经历一次又一次的技术浪潮,还会面临更为严峻的技术挑战,但这和信息共享的最高目标相比,又算得了什么呢?