動態伺服器網頁 (英文:A ctiveS erverP ages,简称ASP ),是由微软 公司开发的服务器 端运行的脚本平台,它被Windows 下Internet Information Services (IIS) 的程式所管理。透過ActiveX server的技術讓不同的使用者能有不同的畫面,或需要讓他們可以存取服务器(server) 上的資料時,使用ASP3.0中提供了五個內建的物件建立模擬和安全性的動態內容,來協助程序员 隱藏複雜的溝通機制,讓程序员 可以專注在解決問題和應用之上,這樣可以更快速地开发动态网页的同時每一个组件都是可以由一组富有经验的程序员 根据动态网页最常用的功能而獨立开发。
ASP隱藏了網頁伺服器 與瀏覽者之間溝通的繁瑣機制的同時也基於script base 的特性,網頁撰寫員可以專心撰寫應用的程式的邏輯部份,再者ASP也像HTML 般透過撰寫程序來即時測試網頁是否安全地運行,而不必擔心程式和伺服器不能溝通的問題,另外因為那些script 是於發送前於伺服器中先行轉譯處理成為HTML後再而發送至代理伺服器邊的動態網頁技術,不必擔心瀏覽器的支援性,以及網頁撰寫員的程式邏輯像client-side script 會被盜用,因此最終瀏覽者只會是使用HTML 來瀏覽。
利用ASP程序最常用的是Cookie s,它利用Session组件实现的。同時还可以利用第三方 组件延伸ASP的作用,如利用MailSender组件发送电子邮件 。
通过ASP,可以结合HTML 网页、ASP指令和ActiveX 元件建立动态、交互且高效的WEB服务器应用程序。同时,ASP也支持VBScript 和JScript 等脚本语言 ,默认为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提供對於檔案的操作。 ASP在Server端Respondse時會經由HTTP的Set-Cookie 的header欄位傳送名為ASPSESSIONID 的Session ID ( 英语 : Session ID ) 。而用戶端的瀏覽器在收到這個Session ID之後,會在下次的Request時,經由HTTP的Cookie 的header欄位再把這個Session ID傳給Server,藉以讓Server區分是同一個瀏覽者,以獲得其專用的Session變數存取。這個機制可應用於帳號登入,在Session TimeOut被清除之前,只要瀏覽者沒關閉瀏覽器,就能持續保持帳號登入的狀態‧
此外,ASP可以經由檔案Global.asa裡的兩個事件處理(Session_OnStart與Session_OnEnd)去控制該瀏覽者Session的建立與結束的額外處理。這可以用來作為統計實際線上人數之用。
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 Server 、Microsoft Access 、MySQL 和Oracle ,比较流行的是ASP和Microsoft SQL Server的组合。
ASP程式(包括與資料庫連線的部分)都是嵌入在普通HTML和其他客户端语言中的。例如
你好!<!-- 上面是將“你好!”在瀏覽器中輸出,這是通過HTML實現的 --> <% '這一行註釋,將不會顯示 Response . write "Wikipedia!" '這行將在瀏覽器中輸出“Wikipedia!” %> ASP語言是嵌入在“<%...%>”之間的部分。而這個程序最終結果將是:
應用或比較 替代產物
網頁技術與標準
文档呈现语言 样式格式描述语言 动态网页技术 用戶端互動技术 用戶端手稿語言 标识定位语言 文档纲要语言