ASP技術(shù)是什么?
ASP(Active Server Page活動(dòng)服務(wù)器網(wǎng)頁(yè))是微軟公司推出的一種用以取代CGI(CommonGatewayInterface通用網(wǎng)關(guān)接口)程序的一種應(yīng)用,Internet的許多基于Windows平臺(tái)的Web站點(diǎn)已經(jīng)開(kāi)始應(yīng)用ASP來(lái)替代CGI。
ASP技術(shù)的作用
ASP是一個(gè)位于服務(wù)器端的腳本運(yùn)行環(huán)境,通過(guò)這種環(huán)境,用戶可以創(chuàng)建和運(yùn)行動(dòng)態(tài)的交互式Web服務(wù)器應(yīng)用程序如交互形式動(dòng)態(tài)網(wǎng)頁(yè),包括使用HTML表單收集和處理信息,上傳與下載等等。通常情況下,用戶通過(guò)瀏覽器看到的網(wǎng)頁(yè)大多是靜態(tài)的,目前Internet上的許多站點(diǎn),仍然提供"靜態(tài)"(static)的主頁(yè)內(nèi)容。所謂"靜態(tài)",指的就是站點(diǎn)的主頁(yè)內(nèi)容是"固定不變"的。一個(gè)"靜態(tài)網(wǎng)站"的站點(diǎn),若要更新主頁(yè)的內(nèi)容,必須手動(dòng)更新HTML的文件數(shù)據(jù)。而隨著Web應(yīng)用的發(fā)展,用戶希望能夠看到根據(jù)要求而動(dòng)態(tài)生成的主頁(yè),例如響應(yīng)用戶查詢數(shù)據(jù)庫(kù)的要求、生成報(bào)表等功能。當(dāng)在瀏覽器上填好表單的輸入數(shù)據(jù),以提供HTTP要求時(shí),可以在站點(diǎn)服務(wù)器中執(zhí)行的應(yīng)用程序,而不只是一個(gè)HTML文件。站點(diǎn)服務(wù)器收到要求執(zhí)行的應(yīng)用程序,分析表單的輸入數(shù)據(jù),將執(zhí)行的結(jié)果以HTML的格式傳送給瀏覽器。根據(jù)用戶請(qǐng)求生成動(dòng)態(tài)主頁(yè)的傳統(tǒng)方法有CGI、ISAPI等。如同時(shí)有很多請(qǐng)求時(shí),程序占擠系統(tǒng)資源,以造成效率低下;ISAPI針對(duì)這一缺點(diǎn)進(jìn)行改進(jìn),利用dll(動(dòng)態(tài)鏈接庫(kù))技術(shù),以線程代替進(jìn)程,提高了性能和速度,但要考慮線程的同步問(wèn)題,而且開(kāi)發(fā)步驟特別煩瑣。這兩種技術(shù)和另一普遍使用的開(kāi)發(fā)技術(shù)Java都還存在著另外一個(gè)問(wèn)題,那就是開(kāi)發(fā)困難,程序的開(kāi)發(fā)和HTML寫(xiě)作是兩個(gè)完全不同的過(guò)程,需要專門的程序員開(kāi)發(fā)。而較簡(jiǎn)單的開(kāi)發(fā)技術(shù)如javascript和IDC等功能有限,不予使用,ASP技術(shù)使用的ActiveX技術(shù)基于開(kāi)放設(shè)計(jì)環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動(dòng)態(tài)網(wǎng)頁(yè)幾乎具有無(wú)限的擴(kuò)充能力,這是傳統(tǒng)的CGI等程序所遠(yuǎn)遠(yuǎn)不及的地方。ASP技術(shù)與常見(jiàn)的在Client端實(shí)現(xiàn)動(dòng)態(tài)主頁(yè)的技術(shù)如Javaapplet、ActiveXControl、VBScript、javascript等不同,ASP技術(shù)中的命令和Script語(yǔ)句都是由服務(wù)器來(lái)解釋執(zhí)行的,執(zhí)行結(jié)果產(chǎn)生動(dòng)態(tài)生成的Web頁(yè)面并送到瀏覽器;而Client端技術(shù)的Script命令則是由瀏覽器來(lái)解釋執(zhí)行。由于ASP技術(shù)是在服務(wù)器端解釋執(zhí)行,開(kāi)發(fā)者可以不必考慮瀏覽器是否支持ASP技術(shù);同時(shí)由于它在服務(wù)器端執(zhí)行,開(kāi)發(fā)者也不必?fù)?dān)心別人下載程序從而竊取編程邏輯。ASP技術(shù)通過(guò)后綴名為.asp的ASP文件來(lái)實(shí)現(xiàn),一個(gè).asp文件相當(dāng)于一個(gè)可執(zhí)行文件,因此必須放在Web服務(wù)器上有可執(zhí)行權(quán)限的目錄下。當(dāng)用戶從瀏覽器輸入了.asp文件的地址后,瀏覽器就將這個(gè)URL請(qǐng)求發(fā)給WebServer,如果WebServer上裝了ASP,就調(diào)用ASP。ASP讀出相應(yīng).asp文件,解釋并執(zhí)行命令,動(dòng)態(tài)生成一個(gè)HTML頁(yè)面回傳WebServer,然后WebServer再把結(jié)果發(fā)送給瀏覽器。ASP文件的制作和HTML類似,且和HTML開(kāi)發(fā)集成,可以在同一個(gè)過(guò)程完成,利用ASP技術(shù)將可以執(zhí)行的腳本嵌入到HTML文件中(將HTML文件的后綴名改為.asp),這使得HTML文件的編寫(xiě)與腳本的開(kāi)發(fā)融合在一起。通過(guò)ASP技術(shù)內(nèi)置的對(duì)象、服務(wù)器組件可以完成非常復(fù)雜的任務(wù),而且用戶還可以自己開(kāi)發(fā)或利用別人開(kāi)發(fā)的服務(wù)器組件完成專門的任務(wù)。
ASP技術(shù)比較服務(wù)器擴(kuò)展模式有著以下優(yōu)點(diǎn):
1.利用ASP技術(shù)可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁(yè)的一些功能限制,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)
2.ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測(cè)試;
3.服務(wù)器上的ASP會(huì)在服務(wù)器端口制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此ASP所產(chǎn)生的網(wǎng)頁(yè)適用于各種瀏覽器;
4.ASP技術(shù)提供了一些內(nèi)置對(duì)象,使用這些對(duì)象可以使服務(wù)器端腳本功能更強(qiáng)。例如可以從web瀏覽器中獲取用戶通過(guò)HTML表單提交的信息,并在腳本中對(duì)這些信息進(jìn)行處理,然后向web瀏覽器發(fā)送信息;
5.ASP可以使用服務(wù)器端ActiveX組建來(lái)執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫(kù)、發(fā)現(xiàn)哦那個(gè)Email或訪問(wèn)文件系統(tǒng)等。
6.由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會(huì)看到ASP所編寫(xiě)的原始程序代碼,可放置ASP程序代碼被竊取。
文章內(nèi)容來(lái)源于網(wǎng)絡(luò),侵刪