1. 定義
即Common Gateway Interface,它提供一個計算機程序同HTTP協議或者WWW服務的接口,也就是人機交互接口;有了它,服務器可以提供交互式的站點以代替過去靜態的文本和圖象。CGI通常使用PERL、C/C++、DELPHI等進行編寫。
2. 功能
絕大多數的CGI程序被用來解釋處理來自表單的輸入信息,並在服務器產生相應的處理,或將相應的信息反饋給瀏覽器。CGI程序使網頁具有交互功能。
3. 運行環境
CGI程序最初在UNIX操作系統上CERN或NCSA格式的服務器上運行。
在其它操作系統(如:windows NT及windows95等)的服務器上也廣泛地使用CGI程序,同時它也適用於各種類型機器。
4. CGI處理步驟
⑴通過Internet把用戶請求送到服務器。
⑵服務器接收用戶請求並交給CGI程序處理。
⑶CGI程序把處理結果傳送給服務器。
⑷服務器把結果送回到用戶。
5. CGI環境變量列表
SERVER-NAME:運行CGI序爲機器名或IP地址。
SEUVER-INTERFACE:WWW服務器的類型,如:CERN型或NCSA型。
SERVER-PROTOCOL:通信協議,應當是HTTP/1.0。
SERVER-PORT:TCP端口,一般說來web端口是80。
HTTP-ACCEPT:HTTP定義的瀏覽器能夠接受的數據類型。
HTTP-REFERER: 發送表單的文件URL。(並非所有的瀏覽器都傳送這一變量)
HTTP-USER-AGENT:發送表單的瀏覽器的有關信息。
GETWAY-INTERFACE:CGI程序的版本,在UNIX下爲 CGI/1.1。
PATH-TRANSLATED: PATH-INFO中包含的實際路徑名。
PATH-INFO:瀏覽器用GET方式發送數據時的附加路徑。
SCRIPT-NAME: CGI程序的路徑名。
QUERY-STRING:表單輸入的數據,URL中間號後的內容。
REMOTE-NOST:發送程序的主機名,不能確定該值。
REMOTE-ADDR:發送程序的機器的IP地址。
REMOTE-USBR:發送程序的人名。
CONTENT-TYPE:POST發送,一般爲applioation/xwww-form-urlencoded。
CONTENT-LENGTH:POST方法輸入的數據的字節數。