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!

參見

外部連結

應用或比較
替代產物