CGI(CommonGateway Interface,公共網(wǎng)關(guān)接口)技術(shù)是對HTML語言的擴展。允許用戶編寫擴展的應用程序來擴展服務器的功能,實現(xiàn)客戶端與服務器之間的交互。CG1程序可以在不同的平臺上實現(xiàn)特定的功能,并且可以在不做太多更改的情況下很容易地完成平臺間的遷移。與其他專用服務器的擴展功能相比,任何支持CGI的服務器的主要特點之一是,只要符合CGI規(guī)范,CGI程序的服務器就可以用任何語言編寫,并可以在任何平臺上開發(fā)。
由于cgi程序的大多數(shù)處理對象都是字符串,所以編寫cgi程序的語言最好是perl,C≈C≤+。其他語言在編寫CGI程序方面有缺點,主要是因為它們?nèi)鄙倏伸`活應用的字符串處理程序。
HTML+CGI可以實現(xiàn)HTML本身無法實現(xiàn)的下列WWW服務:
(1)處理客戶端提交的表單數(shù)據(jù);
(2)在Web頁面上創(chuàng)建大部分非靜態(tài)內(nèi)容;
(3)將搜索功能添加到網(wǎng)頁和文檔中,
(4)創(chuàng)建交互式應用程序,如聊天室、投票站、柜臺等;{+-*/)(5)允許動態(tài)生成頁面,生成用戶自定義的頁面,等等。CGI
CGI是一種通用的接口標準。CG1程序是一個符合通用接口標準并在Web服務器上運行的程序。它的工作是控制瀏覽器的信息需求,生成并返回瀏覽器所需的文件。
CGI是外部擴展應用程序與WWW服務器交互的標準界面。外部編寫符合CGI標準。
擴展應用程序可以處理客戶端(www瀏覽器)輸入的數(shù)據(jù),這些數(shù)據(jù)需要協(xié)同工作,以完成客戶端和服務器之間的交互。
常熟網(wǎng)站制作隨著瀏覽器和W3C標準一致性的改善,以及無表格網(wǎng)頁設計的認同性增加,超文件標示語言與層疊樣式表共同用作網(wǎng)頁內(nèi)容的設計已經(jīng)被廣泛的接受和使用。最新的標準和建議則是朝著瀏覽器的能力擴充和改善發(fā)展,使之能夠不需要插件程序也能夠給用戶傳輸多媒體信息和更多的選擇。例如,您可以編寫CGI外部擴展來訪問外部數(shù)據(jù)庫,客戶端用戶可以通過CGI外部擴展和WWW服務器查詢數(shù)據(jù)并獲得查詢結(jié)果。
以下是CG1通過處理瀏覽器提交表單數(shù)據(jù)的基本原理。
常熟網(wǎng)站制作隨著瀏覽器和W3C標準一致性的改善,以及無表格網(wǎng)頁設計的認同性增加,超文件標示語言與層疊樣式表共同用作網(wǎng)頁內(nèi)容的設計已經(jīng)被廣泛的接受和使用。最新的標準和建議則是朝著瀏覽器的能力擴充和改善發(fā)展,使之能夠不需要插件程序也能夠給用戶傳輸多媒體信息和更多的選擇。
(1)當客戶端上的用戶填寫表單時,單擊Submit按鈕向服務器發(fā)出HTTP請求(稱為CGI請求),請求將實際發(fā)送到由form標記中的action屬性標識的URL。
(2)當Web服務器守護進程收到此請求時,將建立一個子進程(稱為CGI進程)。URL子進程將CGI請求的相關(guān)數(shù)據(jù)設置為環(huán)境變量,在外部CGI程序和服務器之間建立兩個數(shù)據(jù)通道(標準輸入/輸出),然后啟動CGI指定的CGI程序,并與子進程同步。監(jiān)視CGI程序的執(zhí)行狀態(tài)。