跳转到内容

Active Server Pages

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Addbot留言 | 贡献2013年3月8日 (五) 15:06 (机器人:移除40个跨语言链接,现在由维基数据d:q344266提供。)编辑。这可能和当前版本存在着巨大的差异。

Active Server Pages
開發者Microsoft
当前版本3.0 (沒有更新的版本)
类型Web应用框架
许可协议Proprietary
网站www.asp.net 编辑维基数据
Active Server Pages
扩展名
.asp
开发者Microsoft

動態伺服器網頁Active Server Pages),由微软公司开发的服务器端运行的脚本平台,它被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!

参见

外部链接

應用或比較
替代產物