ASP是一個縮寫詞,它的原文是Active Server Pages,中文的意思是活動服務(wù)器頁面。這個名字非常精確的概括了ASP的特點。讓我們來依次看看這三個英文詞匯。
Active:活動的。Active是ASP的核心所在,“活動的”表明了ASP與靜態(tài)網(wǎng)頁的區(qū)別,簡單來說,它可以根據(jù)各種請求信息的不同,使用某種編程語言進行邏輯判斷和處理,與數(shù)據(jù)庫或其他數(shù)據(jù)存儲進行數(shù)據(jù)交換,返回給用戶不同的信息,因此對于ASP這樣的服務(wù)器端解決方案,我們又稱其為“動態(tài)網(wǎng)頁”,有些人也把它叫做“網(wǎng)站后臺”,以區(qū)別于“前臺”的靜態(tài)網(wǎng)頁。
Server:服務(wù)器。Server體現(xiàn)了ASP的運行環(huán)境制約。普通的HTML頁面可以由用戶下載至本地,并且可以不需要聯(lián)網(wǎng)就在用戶的計算機上瀏覽,而ASP頁面則不同,ASP需要一個基于服務(wù)器的解析環(huán)境(如微軟的IIS服務(wù)器)來處理,如果說“用戶得到了ASP頁面并打開”,那么有兩種可能,第一種是用戶得到了由服務(wù)器解析完畢的ASP網(wǎng)頁內(nèi)容,此時實際上用戶獲得的是服務(wù)器根據(jù)其請求的信息所反饋的靜態(tài)HTML頁面,并不是實際的ASP源代碼。第二種是用戶真實的下載了ASP源代碼,這時如果用戶想“看”這個頁面的話,他就需要在自己的計算機上建立相應(yīng)的服務(wù)器環(huán)境才可以。當然,一般網(wǎng)站是不會使得用戶下載到其ASP源代碼的,否則網(wǎng)站的信息將被泄露。
Pages:頁面。Pages體現(xiàn)了ASP的本質(zhì),即網(wǎng)頁。為什么要說是網(wǎng)頁呢,網(wǎng)頁其實體現(xiàn)的一個叫做B/S(Browser/Server)的體系,即瀏覽器/服務(wù)器體系。同時請注意我所說的網(wǎng)頁是一個復(fù)數(shù)(pages),即,強調(diào)的是若干個頁面的集合完成的任務(wù),用比較時髦的話來講就是網(wǎng)站所需要完成的工作是由各個動態(tài)網(wǎng)頁在很好的“團隊合作”下完成的,至于如何合作,我們先在這里埋下伏筆,后面會詳細提到。
對上面所說的話進行一個總結(jié),并給出一個概括的含義,即:ASP就是一個運行在特定服務(wù)器環(huán)境下解析的、可以根據(jù)用戶不同請求做出不同網(wǎng)頁的輸入輸出系統(tǒng)。
那么ASP是不是一門語言呢?非常多的網(wǎng)友曾經(jīng)這樣疑惑過。在這里我做一個分析。
網(wǎng)友認為ASP是編程語言的理由主要是將其和PHP、JSP等動態(tài)網(wǎng)站解決方案進行類比,從而得出結(jié)論。
PHP最早是1994年由Rasmus Lerdorf創(chuàng)建的。Rasmus Lerdorf最早的目的僅僅是用來統(tǒng)計他自己網(wǎng)站的訪問者。PHP的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。
而JSP則是屬于Sun公司的J2EE,它使用Java語言來編寫動態(tài)網(wǎng)頁程序并編譯后使用。
而這些情況在ASP中是怎樣的呢?
確切地說,ASP是微軟提供給希望使用動態(tài)網(wǎng)頁的程序員的一個環(huán)境,這個環(huán)境允許編程者在服務(wù)器上的HTML頁面中加入特定的代碼,在訪問者訪問時,ASP的解析環(huán)境IIS將讀取這些特定的代碼,并根據(jù)其語言結(jié)構(gòu)進行處理,最終返回給客戶經(jīng)過處理后的HTML信息。
之所以在上面提到“特定的代碼”,是因為在ASP的設(shè)計原則上,可以使用任何語言來完成這些代碼,但是微軟的ASP解析環(huán)境—IIS默認提供了對于兩種腳本語言的支持,即VBScript和JScript,VBScript是VB的一個子集,程序員可以使用在VB中已經(jīng)熟知的代碼,來編寫ASP動態(tài)網(wǎng)頁程序。JScript是由微軟公司開發(fā)的活動腳本語言,是微軟對ECMAScript規(guī)范的實現(xiàn)??梢赃@樣說,VBScript是類似VB風(fēng)格的程序,而JScript是類似C語言風(fēng)格的程序,微軟提供了對這兩種風(fēng)格的腳本程序編寫的解析,從而使得VB程序員和C程序員都可以快速的上手ASP。
再回到我們的話題中,我們稱“ASP是一個環(huán)境”,這樣說其實是非常恰當?shù)?,ASP最大的特色在于通過對ActiveX組件的調(diào)用增強其原有的功能。就ASP的基本功能來講,僅提供最基本的HTTP變量的獲取和對用戶信息的返回以及狀態(tài)保持等這樣簡單的基本功能,其對于文件的I/O操作、郵件發(fā)送、圖像處理都可以通過微軟自帶或者第三方提供的ActiveX組件來實現(xiàn)。
相對于PHP默認提供的對大量常用動態(tài)網(wǎng)頁所需要使用的函數(shù),ASP采用組件擴展的方案來解決這一問題,是不是說明ASP不如PHP呢?不是的。應(yīng)該說兩者各有特點。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇