动态Web技术浅述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

动态Web技术浅述
本文介绍了当前创建动态Web页的两种主流技术:客户端技术和服务器端技术,并简单分析了每一种技术的主要特点。

标签:动态Web页客户端技术服务器端技术
大家知道,网页分为静态网页和动态网页两种。

静态网页简单易学,显示速度快,但是缺乏灵活性,不能适应很多场合的具体需求,所以现在最流行的是动态网页技术。

目前有两种不同的模型可以提供动态网页创建:客户端技术和服务器端技术。

本文将介绍的是我们所认为的这两种模型中最重要的技术。

1 提供动态内容的客户端技术
当用户请求页面时,服务器一般是把HTML代码连同一个包含一组指令的单独文件发送给浏览器,浏览器使用它们生成纯HTML页面——换句话说,页面是在请求时动态生成的。

客户端技术都依赖于一个嵌入浏览器的模块(或插件程序)来处理指令,它是脚本语言、控件和发展成熟的编程语言的混合物。

目前,能提供动态内容的客户端技术主要有以下几种:
1.1 JavaScript
JavaScript是最原始的浏览器脚本语言,不能与Java相混淆,它只是借用了Java的一些语法和基本结构。

Netscape最初开发了一种脚本语言,即LiveScript,为他们的Web服务器和浏览器增添了交互性,当Netscape和Sun联合时,他们把其名称改为JavaScript。

JavaScript比Java更容易掌握。

它可以创建小规模的、高效率的可以做很多事情的应用程序,可以执行重复的任务和处理用户产生的事件(如鼠标单击,键盘响应等)。

JavaScript可以控制浏览器的行为,但是却不能像Java那样控制像文件处理、绘制图形、执行网络和线程等这样的功能。

事实上,JavaScript出于安全原因还会积极地阻止这类功能地实现。

Microsoft在Internet Explorer3.0中介绍了自己的JavaScript版本,即Jscript,并一直给予支持,现在它与Netscape版本的JavaScript语言只有很小的区别(但在旧的版本中,区别还是很大的)。

1.2 VBScript
在IE3.0中,Microsoft为了与JavaScript分庭抗礼,也介绍了他们自己的脚本语言,即VBScript,它是基于Visual Basic 编程语言的。

就功能而言,两者没
有太大的区别,更多的个人的偏好。

Java的开发人员愿意使用JavaScript,而VB 的编程人员更愿意用VBScript。

VBScript还有一个吸引初级编程人员的优点是:它不像JavaScript那样,它不区分大小写;但是这个“优点”使得它的速度大为减慢且效率降低。

VBScript最大的缺点是,非Microsoft的浏览器都不支持用VBScript写的客户端脚本,Netscape等其它的浏览器只能通过专属的插件程序来提供支持。

如果要在Internet上编写Web页的客户端程序,JavaScript将是唯一可以选择的脚本语言。

1.3 ActiveX控件
ActiveX控件是个独立的程序或组件,用C++或VB语言编写,通过标记添加到HTML页面中,此标记现已是HTML标准的一部分。

当ActiveX控件嵌入到Web页时就可以被浏览器执行。

不同于JavaScript和VBScript,ActiveX可以操作用户机器上的项,如文件甚至注册表,正是由于这个原因,它经常被认为存在安全隐患,甚至不允许通过防火墙。

所以它仍然不能真正地作为制作动态网页的通用的或是跨平台的方式,也慢慢被弃用了。

1.4 Java Applets
当Java在20世纪90年代中期首次冲击Web时,引起了巨大的冲击波,方法是用applets表单中的Java代码,applets表单实际上是通过标记符插入到Web 页中的Java组件。

Microsoft和Netscape浏览器都通过Java Virtual Machine(JVM)得到了内置的Java支持,用于把Java Applets添加到Web页中。

Java applets可以很快地下载,但在浏览器中处理一次却要花费很长时间。

所以,虽然小型的Java applets(提供下拉菜单和动画等功能)在Web上非常受欢迎,但大一点的仍不及脚本页面普遍。

2 提供动态内容的服务器端技术
在服务器端模型中,HTML源代码随一组混合的指令发送到Web服务器中,当用户请求页面时,这组指令被用来动态生成HTML页面,并把生成的HTML 代码返回给浏览器。

因此,只有HTML和相关的客户端脚本被Web服务器发送回浏览器,而不返回任何的服务器端代码。

目前,能提供动态内容的客户端技术主要有以下几种:
2.1 CGI
Common Gateway Interface(CGI)是一种创建服务器上的脚本的机制,可以用
来创建动态Web应用程序。

CGI甚至可以让用户在Web服务器中调用其它的程序来创建动态Web页,然而CGI有以下严重的缺点:①对于初学者来说,学会编写CGI模块不太容易;②CGI要求更多的服务器资源,特别是在多用户情况下;③它需要在服务器上处理页面之前,运行CGI程序来创建动态页面。

CGI接收和传送数据的形式意味着它不容易编程,执行CGI操作的最适合的编程语言是C/C++,它们学习起来很复杂。

Visual Basic不能提供充分的文本处理功能,因此很少被用于CGI中。

除了这些,CGI仍然为一些大的Web站点所欢迎,特别是一些运行于Unix 操作系统上的Web站点。

它也可以在不同的平台上运行,这也确保了它的继续流行。

2.2 ASP
Active Server Page(ASP)是一个连接到Web服务器的组件(asp.dll文件),它通常是依赖于JavaScript或是VBScript脚本语言来创建动态Web页。

在页面发送给服务器之前,asp.dll组件处理Web服务器上的JavaScript和VBScript,并转换其为HTML,而不是在浏览器上处理这一切。

由于只能使用脚本语言,它不能实现一个发展成熟的编程语言所能做的一切,因为脚本语言是完整的编程语言的最原始、初级的版本。

而且,ASP程序执行速度很慢,并且只能在Windows系统的IIS上运行。

2.3 JSP
Java Server Page(JSP)技术允许Java代码结合标记语言(HTML或XML)来动态生成Web页。

JSP的一个最主要的优点是不同的服务器间的代码的可移植性。

JSP也因为功能强大且速度比ASP快,允许Java编程使用Java 2 平台的JavaBeans和Java 2库等原因,很快为Java编程人员所青睐。

2.4 PHP
PHP(Personal Home Pages,但近来演变为PHP HyperText PreProcessor)是创建动态Web页的另外一种技术。

PHP是开放源代码和跨平台的,可以运行于Windows NT和许多Unix版本中。

PHP4之前是不存在会话管理的,既使现在都不如ASP和JSP。

2.5
是动态创建Web页的另一种强大的服务器端新技术,是构成Microsoft .NET Framework的一组技术中的一种。

它充分利用.NET Framework的丰富的潜能,可以使用.NET Framework支持的所有的编程语言,包括C#、Visual 和等。

由于可以使用成熟的编程语言,因此它的功能强大,是现在最流行的一种技术。

3 总结
近年来,我们已经对客户端技术弃之不用了,因为它们的下载时间长,每个浏览器以不同的方式来解释指令,无法保证IE以及Navigator和Opera等都能理解它们。

由于重要的代码(如如何使用服务器端资源等)都是在客户端解释的,任何人都可以使用这些客户端脚本代码,所以它是不安全和不受欢迎的。

服务器端技术和客户端技术的不同就是在发送给浏览器之前,所有的处理过程都是在服务器上进行的,实际上发送给浏览器的只是用来描述已完成的页面的HTML代码。

这意味着页面的逻辑关系已经隐藏在服务器上,可以保证大部分浏览器至少能显示它,所以渐渐成为创建动态Web页的主流技术。

参考文献:
[1]入门经典,康博译.清华大学出版社.
[2]动态网站开发,郭兴峰,陈建伟编著,清华大学出版社.
[3].。

相关文档
最新文档