什麼是CGI程序

什麼是CGI什麼是CGI
1.定義:CGI(Common Gateway Interface)是HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,其程序須運行在網絡服務器上。
2. 功能:絕大多數的CGI程序被用來解釋處理表單的輸入信息,並在服務器產生相應的處理,或將相應的信息反饋給瀏覽器。CGI程序使網頁具有交互功能。
3. 運行環境:CGI程序在UNIX操作系統上CERN或NCSA格式的服務器上運行。在其它操作系統(如:windows NT及windows95等)的服務器上也廣泛地使用CGI程序,同時它也適用於各種類型機器。
4. CGI處理步驟:
	⑴通過Internet把用戶請求送到服務器。
	⑵服務器接收用戶請求並交給CGI程序處理。
	⑶CGI程序把處理結果傳送給服務器。
	⑷服務器把結果送回到用戶。
5. CGI服務器配置:CGI程序不是放在服務器上就能順利運行,如果要想使其在服務器上順利的運行並準確的處理用戶的請求,則須對所使用的服務器進行必要的設置。配置:根據所使用的服務器類型以及它的設置把CGI程序放在某一特定的目錄中或使其帶有特定的擴展名。
	⑴CREN格式服務器的配置:編輯CREN格式服務器的配置文件通常爲/etc/httpd.conf/在文件中加入:Exec cgi-bin/*/home/www/cgi-bin/*.exec命令中出現的第一個參數cgi-bin/*指出了在URL中出現的目錄名字,並表示它出現在系統主機後的第一個目錄中,如:http://edgar.stern.nyn.edu/cgi-bin/命令中的第二個參數表示CGI程序目錄放在系統中的真實路徑。CGI目錄除了可以點網絡文件放在同一目錄中,也可以放在系統的其它目錄中,但必須保證在你的系統中也具有同樣的目錄。在對服務器完成設置後,須重新啓動服務器(除非HTTP服務器是用inetd啓動的)。
	⑵NCSA格式服務器的配置在NCSA格式服務器上有兩種方法進行設置:
		①在srm.conf文件(通常在conf目錄下)中加入:Script Alias/cgi-bin/cgi-bin/Script Alias命令指出某一目錄下的文件是可執行程序,且這個命令是用來執行這些程序的;此命令的兩個參數與CERN格式服務器中的Exec命令的參數的含意一樣。
		②在srm.conf文件加入:Add type application/x-httpd-cgi.cgi此命令表示在服務器上增加了一種新的文件類型,其後第一個參數爲CGI程序的MIME類型,第二個參數是文件的擴展名,表示以這一擴展名爲擴展名的文件是CGI程序。在用上述方法之一設置服務器後,都得重新啓動服務器(除非HTTP服務器是用inetd啓動的)。
6. CGI的編寫語言CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變量。對初學者來說,最好選用易於歸檔和能有效表示大量數據結構的語言,例如UNIX環境中:· Perl (Practical Extraction and Reporting Language)· Bourne Shed或者Tcl (Tool Command Language)Windows環境中:· C和C++由於Internet上大部分服務器使用的是UNIX操作系統,且幾乎任一UNIX操作系統中都有Bourne Shell,因而後面講述的例子中大部分是用Bourne Shell編寫的。
7. CGI環境變量列表用 好易環境變量探針 來查看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方法輸入的數據的字節數。
發佈了11 篇原創文章 · 獲贊 11 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章