Active Server Pages

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻
Active Server Pages (ASP)
开发者Microsoft
稳定版本
3.0
(2000年2月17日,​24年前​(2000-02-17
类型Web应用框架
许可协议专有软件
Active Server Pages
扩展名.asp
开发者Microsoft

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

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标准的实现,并且有自己的扩展。

五个内建组件

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

对象的支持

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

  • 透过ADO提供对于资料库的应用。
  • 透过ActiveX的Scripting.FileSystemObject提供对于文件的操作。

状态(State)的管理

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

版本

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!

参见

外部链接

应用或比较
替代产物