Board logo

標題: [教學] (ASP教學第2篇)ASP與CGI [打印本頁]

作者: 小誌    時間: 2010-5-10 03:15     標題: (ASP教學第2篇)ASP與CGI

只要是在網站伺服器(Web Server)端執行執行的程式都是『CGI』程式, CGI (Common Gateway Interface),中文名稱為『共通閘道介面』,為一種標準程式執行介面,主要在於能讓你的網頁跟網站伺服器(Web Server)溝通,達到跟使用者互動的效果。透過CGI程式,可以讓我們動態的產生網頁,即時展示網站伺服器(Web Server)上最新的資料。當我們連結到一個CGI物件時(非網頁,而是一個在網路伺服器端執行的程式),我們所取回的文件並非是一份靜態資料,而是一個藉由程式動態產生的HTML資料(取回的資料只是程式執行後的結果)。傳回來的資料會針對使用者的特殊查詢或要求而有不同的內容,例如:股票行情或成交量等等。

請注意:『CGI』 與 『CGI程式』是完全兩碼子的事!『CGI』為一種標準程式執行介面,而『CGI程式』是泛指在網站伺服器(Web Server)端執行的程式!

CGI 程式的工作方式
CGI 程式的工作方式乃是由客戶端(Client)的瀏覽器送出工作指令,再以CGI 介面傳送給網站伺服器(Web Server)端,網站伺服器(Web Server)端解譯由客戶端(Client)的瀏覽器送出的工作指令後,就會啟動位於網站伺服器(Web Server)端中相對應的 CGI 程式。
[attach]181[/attach]
CGI程式接收到客戶端(Client)的瀏覽器送出的工作指令後,經過一番處理,然後會將標準輸出(執行結果)傳送給『共通閘道介面』,再經由『共通閘道介面』交給客戶端(client)的瀏覽器秀出來。

如何撰寫CGI程式?
CGI程式可以用任何程式語言來撰寫,只要該語言具有讀寫檔案的能力且該資料檔可被存取即可。一般來說,『Perl』程式語言是最常被用來撰寫CGI程式的程式語言,當然我們也可以使用其他程式語言來撰寫,同時,只要網站伺服器(Web Server)有提供CGI 介面即可執行我們所撰寫出來的 CGI 程式。

ASP程式與CGI程式
ASP程式也是一種CGI程式,不要忘了:只要是在網站伺服器(Web Server)端執行執行的程式都是『CGI』程式,ASP 程式就是在網站伺服器(Web Server)端執行,所以,ASP 程式就是一種 CGI 程式,正確的說法是:CGI 程式的改良版就是 ASP 程式。
傳統CGI程式的缺點


ASP程式的優點

作者: 小誌    時間: 2010-5-10 03:21

何謂ASP
ASP (Active Server Page)
ASP是一種HTML、Script、CGI的結合體。 但是ASP並不適用於單機PC之上,在單機上要開啟ASP網頁是必須透過PWS(或IIS)來模擬網路伺服器才能夠執行的,換言之,當你完成一張ASP網頁的編輯後,並不能在單機PC上使用瀏覽器來開啟這已經完成編輯的ASP網頁,因為ASP網頁是必須動態執行的,瀏覽器只能用來『瀏覽』ASP網頁並不具有『開啟』ASP網頁的能力,以一個ASP瀏覽人數計數器為例:
透過IIS模擬網路伺服器並以瀏覽器開啟後所得的畫面:
[attach]182[/attach]
在上圖中,我們可以很清楚的看到ASP網頁執行後的畫面,同時在瀏覽器狀態列右方的欄位中顯示著『近端 intranet』,這表示我們正透過IIS機制將單機模擬成網路伺服器開啟ASP網頁,同時透過瀏覽器瀏覽網頁執行後的結果!
如果我們未使用IIS機制模擬網路伺服器來開啟ASP網頁,則將獲得如下畫面:
[attach]183[/attach]

HTML (HyperText Markup Language)
超文件標記語言:網頁文件透過此種語言格式即可在網際網路上瀏覽,使用者只要用瀏覽器 (IE、Netscape或其他)就可檢視這些網頁文件。 HTML 是構成網頁最基礎的骨幹,可是我不懂HTML語言耶!沒關係!現在有很多網頁編輯工具都可以讓你在不懂HTML語言的情況下輕易的製作出內容豐富的網頁,例如:DreamWeaver 或 FrontPage 等等。

Script (文稿)
是由一群可以在網頁伺服器(Server)或客戶端(Client)瀏覽器執行的指令所組合而成,例如VBScript或JavaScript。 VBScript 與 JavaScript 都是所謂的:網頁應用程式語言,但是這些由JavaScript 或 VBScript 所完成的網頁程式並不需要透過模擬網路伺服器的機制來開啟,因為瀏覽器本身就具有執行這些網頁應用程式的能力。透過JavaScript 或VBScript 與基礎的HTML文件相結合即可創造出所謂的『動態網頁(DHTNL)』。

  CGI (Common Gateway Interface)
共通閘道介面:指的是瀏覽器與WWW伺服器之間交互作用的機制,CGI並不是程式而是指傳輸的介面,因為 CGI和伺服器端的程式息息相關, 故將兩者合稱為 (CGI程式),ASP即為NT作業平台之IIS伺服端的程式。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)