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