服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

web技术第二次变革:服务器端技术发展

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

1.cgi 1.0诞生

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

2.php简化了web应用的开发

1994年,rasmus lerdorf发明了专用于web服务端编程的php(personal home page tools)语言。与以往的cgi程序不同,php语言将html代码和php指令合成为完整的服务端动态页面,web应用的开发者可以用一种更加简便、快捷的方式实现动态web功能。

时至今日,php依然是最流行的web开发语言之一。

3.asp成为windows平台核心web开发技术

1996年,microsoft借鉴php的思想,在其web服务器iis 3.0中引入了asp技术。asp使用的脚本语言是我们熟悉的vbscript和javascript。借助microsoft visual studio等开发工具在市场上的成功,asp迅速成为了windows系统下web服务端的主流开发技术。

4.jsp/servlet的出现弥补了java在web服务器端编程的不足

当然,以sun公司为首的java阵营也不会示弱。1997年,servlet技术问世,1998年,jsp技术诞生。servlet和jsp的组合(还可以加上java bean技术)让java开发者同时拥有了类似cgi程序的业务处理功能和类似php的html嵌入功能,此外,jvm技术的发展与优化也大大提高了servlet和jsp的执行效率――这也正是servlet和jsp被后来的j2ee平台吸纳为核心技术的原因之一。

5.j2ee与.net两大平台之争

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

j2ee是纯粹基于java的解决方案。1998年,sun发布了ejb 1.0标准。ejb为企业级应用中必不可少的数据封装、事务处理、交易控制等功能提供了良好的技术基础。至此,j2ee平台的三大核心技术 servlet、jsp和ejb都已先后问世。1999年,sun正式发布了j2ee的第一个版本。紧接着,遵循j2ee标准,为企业级应用提供支撑平台的各类应用服务软件争先恐后地涌现了出来。到2003年时,sun的j2ee版本已经升级到了1.4版,其中三个关键组件的版本也演进到了servlet 2.4、jsp 2.0和ejb 2.1。至此,j2ee体系及相关的软件产品已经成为了web服务端开发的一个强有力的支撑环境。

和j2ee不同的是,microsoft的.net平台是一个强调多语言间交互的通用运行环境。尽管.net的设计者试图以.net平台作为绝大多数windows应用的首选运行环境,但.net首先吸引的却是web开发者的目光。2002年,microsoft正式发布.net framework和visual studio .net开发环境。早在.net发布之前,就已经有许多windows平台的web开发者迫不及待地利用beta版本开发web应用了。这大概是因为,.net平台及相关的开发环境不但为web服务端应用提供了一个支持多种语言的、通用的运行平台,而且还引入了asp.net这样一种全新的web开发技术。asp.net超越了asp的局限,可以使用vb.net、c#等编译型语言,支持web form、.net server control、ado.net等高级特性。客观地讲,.net平台,尤其是.net平台中的asp.net的确不失为web开发技术在windows平台上的一个集大成者。至此,伴随着asp.net的推出,.net阵营似乎已经在web开发技术上取得上风, 那么,反观j2ee平台在web开发之上的成绩呢?

扫描关注微信公众号