Active Server Pages


Active Server Pages (正體)

Free Web Hosting with Website Builder

动态服务器网页Active Server Pages),由微软公司开发的服务器端运行的脚本平台,它被WindowsInternet Information Services (IIS)的程序所管理。通过ActiveX server 的技术让不同的使用者能有不同的画面,或需要让他们可以访问服务器 (server)上的数据时,使用ASP3.0中提供了五个内置的对象建立模拟和安全性的动态内容,来协助程序员隐藏复杂的沟通机制,让程序员可以专注在解决问题和应用之上,这样可以更快速地开发动态网页的同时每一个组件都是可以由一组富有经验的程序员根据动态网页最常用的功能而独立开发。

五个组件包括:

  • Application:在一个 ASP-based application 让不同使用者共享信息。
  • Request:从使用者处理取得信息
  • Response:将信息送给使用者
  • Server:提供一些 Web Server 的工具
  • Session:储存在一个 session 内使用者的信息

目录

ASP 的特色

ASP隐藏了网页服务器与浏览者之间沟通的烦琐机制的同时也基于script base的特性,网页撰写员可以专心撰写应用的程序的逻辑部份,再者ASP也像 HTML 般通过选写程序来即时测试网页是否安全地运行,而不必担心程序和服务器不能沟通的问题,另外因为那些 script 是于发送前于服务器中先行转译处理成为HTML后再而发送至代理服务器边的动态网页技术,不必担心浏览器的支持性及,网页撰写员的程序逻辑像 client-side script 会被盗用,因此最终浏览者只会是使用 HTML 来浏览。

利用ASP程序最常用的是Cookies,它利用Session组件实现的。同时还可以利用第三方组件延伸ASP的作用,如利用MailSender组件发送电子邮件

通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。同时,ASP也支持VBScriptJScript脚本语言,默认为VBScript。其中JScript微软公司的ECMAScript标准的实现,并且有自己的扩展。

对象的支持

ASP对 COM 的支持会允许撰写员使用 server component(或OLE Automation server)。通过它撰写员可以发展自已的对象,或将把程序转成 Web-base 的界面。

状态 (State) 的管理

状态管理是ASP的重要功能之一,原因为HTTP是一个stateless的协议,当有匿名的 request进入时,浏览者无法辨认这些的request 是否安全,或那些request 之间的关连性时,便无法通过浏览者取得信息如帐户及密码等,对交易特性的 Web 应用程序造成了阻碍。因此ASP通过 cookie的包装和使用让浏览者可以简单地管理众多使用者名称的不同状态。

ASP 对的管理更是令人称赞,我们知道,HTTP 本身是一个 stateless 的协议,也就是说对于匿名的 request,你无法分辨这些 request 是属于谁的、或这些 request 之间的关连性,这对发展一个有交易特性的 Web 应用程序实在是个伤脑筋的问题。现在,ASP 通过 cookie 的包装和使用,让你可以简单的管理不同使用者的不同 state。

版本

ASP 目前最新的版本为 3.0,与 Windows 2000 一起发行,并内植于 IIS 5.0 中。

  • ASP 1.0 内含于 Windows NT 4.0 Service Pack 3 (IIS 3.0) 发行。
  • ASP 2.0 内含于 Windows NT 4.0 Option Pack,与 IIS 4.0 一起亮相。

自 ASP 3.0 发行后,除了各版本对它的安全性或问题修补外,对主要功能都没有再进一步的更新。 Windows Server 2003 发行的 ASP 也是 3.0 版本。

其后继者 ASP+ (即 ASP.NET),已内含于 .NET Framework 中持续演化。

原理

ASP是经过服务器解析之后再向网页浏览器返回数据,所以有了ASP就不必担心客户的浏览器是否能运行你所编写的代码。因为所有的程序都将在网页服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

由于代码是需要经过服务器执行之后才向浏览器发送的,所以在客户端看到的只能是经过解析之后的数据,而无法获得源代码,故编写者不用担心自己的源代码会被别人剽窃。但不排除黑客利用系统漏洞窃取服务器端的ASP源代码。

基于这样的解析方式,也导致运行ASP页面相对于普通的HTML页面要慢一点。因为普通的HTML页面只需要浏览器就能够解析,而ASP则必须是服务器将整页的代码都执行一遍之后再发送数据。

ASP提供与数据库的交互,如Microsoft SQL ServerMicrosoft AccessMySQLOracle,比较流行的是ASP和Microsoft SQL Server的组合。

范例

ASP程序(包括与数据库连接的部分)都是嵌入在普通HTML和其他客户端语言中的。例如

你好!
<!--上面是将“你好!”在浏览器中输出,这是通过HTML实现的-->
<%
' 这一行注释,将不会显示
Response.write "Wikipedia!" ' 这行将在浏览器中输出“Wikipedia!”
%>

从中我们可以看出,ASP语言是嵌入在“<%...%>”之间的部分。而这个程序最终结果将是:

你好!Wikipedia!

参见

外部链接







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History