Web技术发展史话(2)服务器端技术的成熟与发展

本文回顾了Web服务端技术的发展历程,从最初的静态HTML页面到动态生成内容的CGI技术,再到PHP、ASP、Servlet和JSP等技术的出现。介绍了J2EE和.NET两大企业级开发平台的特点及XML在Web开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CQuinn%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

                 

                      服务端技术的成熟与发展


rel="File-List" href="file:///C:%5CDOCUME%7E1%5CQuinn%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

与客户端技术从静态向动态的演进过程类似,Web服务端的开发技术也是由静态向动态逐渐发展、完善起来的。

最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。一种名为SSIServer Side Includes)的技术可以让Web服务器在返回HTML文件前,更新HTML文件的某些内容,但其功能非常有限。第一种真正使服务器能根据运行时的具体情况,动态生成HTML页面的技术是大名鼎鼎的CGICommon Gateway Interface)技术。1993年,CGI 1.0的标准草案由NCSANational Center for Supercomputing Applications)提出,1995年,NCSA开始制定CGI 1.1标准,1997年,CGI 1.2也被纳入了议事日程。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。随着 CGI技术的普及,聊天室、论坛、电子商务、信息查询、全文检索等各式各样的Web应用蓬勃兴起,人们终于可以享受到信息检索、信息交换、信息处理等更为便捷的信息服务了。

早期的CGI程序大多是编译后的可执行程序,其编程语言可以是CC++ Pascal等任何通用的程序设计语言。为了简化CGI程序的修改、编译和发布过程,人们开始探寻用脚本语言实现CGI应用的可行方式。在此方面,不能不 提的是Larry Wall1987年发明的Perl语言。Perl结合了C语言的高效以及shawk等脚本语言的便捷,似乎天生就适用于CGI程序的编写。1995 年,第一个用Perl写成的CGI程序问世。很快,PerlCGI编程领域的风头就盖过了它的前辈C语言。随后,Python等著名的脚本语言也陆续加 入了CGI编程语言的行列。

   1994年,Rasmus Lerdorf发明了专用于Web服务端编程的PHPPersonal Home Page Tools)语言。与以往的CGI程序不同,PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种更加简便、 快捷的方式实现动态Web功能。1996年,Microsoft借鉴PHP的思想,在其Web服务器IIS 3.0中引入了ASP技 术。ASP使用的脚本语言是我们熟悉的VBScriptjavascript。借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。当然,以Sun公司为首的Java阵营也不会示弱。1997年,Servlet技术问世,1998年,JSP技术诞生。ServletJSP的组合(还可以加上JavaBean技术)让Java开 发者同时拥有了类似CGI程序的集中处理功能和类似PHPHTML嵌入功能,此外,Java的运行时编译技术也大大提高了ServletJSP的执行 效率--这也正是ServletJSP被后来的J2EE平台吸纳为核心技术的原因之一。

两种重要的企业开发平台

   Web服务端开发技术的完善使开发复杂的Web应用成为了可能。在此起彼伏的电子商务大潮中,为了适应企业级应用开发的各种复杂需求,为了给最终用户提供更可靠、更完善的信息服务,两个最重要的企业级开发平台--J2EE.NET2000年前后分别诞生于JavaWindows阵营,它们随即就在企业级Web开发领域展开了你死我活的拼争。平台之争让整个Web世界在最近的几年里不得安宁,但从某种意义上说,也正是这种针锋相对的竞争关系促使了Web开发技术以前所未有的速度提高和跃进。

   J2EE是纯粹基于Java的解决方案。1998年,Sun发布了EJB 1.0标准。EJB为企业级应用中必不可少的数据封装、事务处理、交易控制等功能提供了良好的技术基础。至此,J2EE平台的三大核心技术 ServletJSPEJB都已先后问世。1999年,Sun正式发布了J2EE的第一个版本。紧接着,遵循J2EE标准,为企业级应用提供支撑平台 的各类应用服务软件争先恐后地涌现了出来。IBMWebSphereBEAWebLogic都是这一领域里最为成功的商业软件平台。随着开源运动的 兴起,JBoss等开源世界里的应用服务新秀也吸引了许多用户的注意力。到2003年时,SunJ2EE版本已经升级到了1.4版,其中三个关键组件的版本也演进到了Servlet 2.4JSP 2.0EJB 2.1。至此,J2EE体系及相关的软件产品已经成为了Web服务端开发的一个强有力的支撑环境。

 
   和J2EE不同的是,Microsoft.NET平台是一个强调多语言间交互的通用运行环境。尽管.NET的设计者试图以.NET平台作为绝大多数 Windows应用的首选运行环境,但.NET首先吸引的却是Web开发者的目光。2001年,ECMA通过了Microsoft提交的C#语言和CLI标准,这两个技术标准构成了.NET平台的基石,它们也于2003年成为了ISO的国际标准。2002年,Microsoft正式发布.NET FrameworkVisual Studio .NET开发环境。早在.NET发布之前,就已经有许多Windows平台的Web开发者迫不及待地利用Beta版本开发Web应用了。这大概是因 为,.NET平台及相关的开发环境不但为Web服务端应用提供了一个支持多种语言的、通用的运行平台,而且还引入了ASP.NET这样一种全新的Web开 发技术。ASP.NET超越了ASP的局限,可以使用VB.NETC#等编译型语言,支持Web Form.NET Server ControlADO.NET等高级特性。客观地讲,.NET平台,尤其是.NET平台中的ASP.NET的确不失为Web开发技术在Windows平 台上的一个集大成者。

  XML语言及相关技术

   如果说HTML语言给Web世界赋予了无限生机的话,那么,XML语言的出现大概就可以算成是Web的一次新生了。按照Tim Berners-Lee的说法,Web是一个"信息空间"HTML语言具有较强的表现力,但也存在结构过于灵活、语法不规范的弱点。当信息都以HTML 语言的面貌出现时,Web这个信息空间是杂乱无章、没有秩序的。为了让Web世界里的所有信息都有章可循、有法可依,我们需要一种更为规范、更能够体现信 息特点的语言。

   1996年,W 3C SGML语言的基础上,提出了XMLExtensible Markup Language)语言草案。1998年,W 3C 正式发布了XML 1.0标准。XML语言对信息的格式和表达方法做了最大程度的规范,应用软件可以按照统一的方式处理所有XML信息。这样一来,信息在整个Web世界里的 共享和交换就有了技术上的保障。HTML语言关心的是信息的表现形式,而XML语言关心的是信息本身的格式和数据内容。从这个意义上说,XML语言不但可 以将客户端的信息展现技术提高到一个新的层次,而且可以显著提高服务端的信息获取、生成、发布和共享能力。为了将XML信息转换为HTML等不同的信息展 现形式,1999年,W 3C 制定出了XSLT标准。同一年,IE 5.0增加了对XMLXSLT的支持。

   现在,网站的开发者可以直接使用XML语言发布信息了。针对不同的应用领域,人们还制定了许多专门的XML规范。例如,2001W 3C 发布的 SVGScalable Vector Graphics1.0标准就是一种用XML语言表达的、全新的二维矢量图形格式。开发者可以用SVG格式描述大多数已有的Flash动画。与 Flash格式相比,符合XML标准的SVG格式显然更有利于信息交换和共享。

   Web本身就是一个最大的分布式应用系统。对于分布式开发而言,XML技术也大有用武之地。一个明显的事实是,如果能让分布式应用借助XML格式交换信 息,那么,以往横亘在分布式架构上的信息交换难题也就迎刃而解了。1999年,W 3C 和相关的企业开始讨论设计基于XML的通信协议,2000年,W 3C 发布SOAPSimple Object Access Protocol)协议的1.1版。人们把利用SOAP协议传递XML信息的分布式应用模型称为Web Service2001年,W 3C 发布了WSDLWeb Services Description Language)协议的1.1版。SOAP协议和WSDL协议共同构成了Web Service的基础。随后,J2EE.NET这两大企业级开发平台先后实现了Web Service,并将其视为平台的一项核心功能。

 

 
   Web Service对于Web开发者的重要意义在于,当我们需要在不同的服务端、不同的客户端乃至不同的应用类型、不同的计算设备之间传递信息的时候,以往的 分布式开发技术或者因为适应性不强,或者因为扩展能力不足,都难以满足现代Web开发的需要,而Web Service正好填补了这一空白。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值