关于CGI
1. 定義:?
CGI(Common Gateway Interface)是HTTP服務器與你的或其它機器?
上的程序進行“交談”的一種工具,其程序須運行在網(wǎng)絡服務器上。?
2. 功能:?
絕大多數(shù)的CGI程序被用來解釋處理杰自表單的輸入信息,并在服?
務器產(chǎn)生相應的處理,或?qū)⑾鄳男畔⒎答伣o瀏覽器。CGI程序使?
網(wǎng)頁具有交互功能。?
3. 運行環(huán)境:?
CGI程序在UNIX操作系統(tǒng)上CERN或NCSA格式的服務器上運行。?
在其它操作系統(tǒng)(如:windows NT及windows95等)的服務器上?
也廣泛地使用CGI程序,同時它也適用于各種類型機器。?
4. CGI處理步驟:?
⑴通過Internet把用戶請求送到服務器。?
⑵服務器接收用戶請求并交給CGI程序處理。?
⑶CGI程序把處理結果傳送給服務器。?
⑷服務器把結果送回到用戶。?
5. CGI服務器配置:?
CGI程序不是放在服務器上就能順利運行,如果要想使其在服務器?
上順利的運行并準確的處理用戶的請求,則須對所使用的服務器進?
行必要的設置。?
配置:根據(jù)所使用的服務器類型以及它的設置把CGI程序放在某一?
特定的目錄中或使其帶有特定的擴展名。?
⑴CREN格式服務器的配置:?
編輯CREN格式服務器的配置文件通常為/etc/httpd.conf/?
在文件中加入:Exec cgi-bin/*/home/www/cgi-bin/*.exec?
命令中出現(xiàn)的第一個參數(shù)cgi-bin/*指出了在URL中出現(xiàn)的目錄?
名字,并表示它出?
現(xiàn)在系統(tǒng)主機后的第一個目錄中,如:?
http://edgar.stern.nyn.edu/cgi-bin/?
命令中的第二個參數(shù)表示CGI程序目錄放在系統(tǒng)中的真實路徑。?
CGI目錄除了可以點網(wǎng)絡文件放在同一目錄中,也可以放在系統(tǒng)?
的其它目錄中,但必須保證在你的系統(tǒng)中也具有同樣的目錄。在?
對服務器完成設置后,須重新啟動服務器(除非HTTP服務器是用?
inetd啟動的)。?
⑵NCSA格式服務器的配置?
在NCSA格式服務器上有兩種方法進行設置:?
①在srm.conf文件(通常在conf目錄下)中加入:?
Script Alias/cgi-bin/cgi-bin/?
Script Alias命令指出某一目錄下的文件是可執(zhí)行程序,且這?
個命令是用來執(zhí)行?
這些程序的;此命令的兩個參數(shù)與CERN格式服務器中的Exec命?
令的參數(shù)的含意一樣。?
②在srm.conf文件加入:?
Add type application/x-httpd-cgi.cgi?
此命令表示在服務器上增加了一種新的文件類型,其后第一個?
參數(shù)為CGI程序的MIME類型,第二個參數(shù)是文件的擴展名,表?
示以這一擴展名為擴展名的文件是CGI程序。?
在用上述方法之一設置服務器后,都得重新啟動服務器(除非?
HTTP服務器是用inetd啟動的)。?
6、環(huán)境變量列表
SERVER_NAME:運行CGI序為機器名或IP地址。
SERVER_INTERFACE:WWW服務器的類型,如:CERN型或NCSA型。 SERVER_PROTOCOL:通信協(xié)議,應當是HTTP/1.0。 SERVER_PORT:TCP端口,一般說來web端口是80。 HTTP_ACCEPT:HTTP定義的瀏覽器能夠接受的數(shù)據(jù)類型。 HTTP_REFERER:發(fā)送表單的文件URL。(并非所有的瀏覽器都傳送這一變量) HTTP_USER-AGENT:發(fā)送表單的瀏覽的有關信息。 GETWAY_INTERFACE:CGI程序的版本,在UNIX下為 CGI/1.1。 PATH_TRANSLATED:PATH_INFO中包含的實際路徑名。 PATH_INFO:瀏覽器用GET方式發(fā)送數(shù)據(jù)時的附加路徑。 SCRIPT_NAME:CGI程序的路徑名。 QUERY_STRING:表單輸入的數(shù)據(jù),URL中問號后的內(nèi)容。 REMOTE_HOST:發(fā)送程序的主機名,不能確定該值。 REMOTE_ADDR:發(fā)送程序的機器的IP地址。 REMOTE_USER:發(fā)送程序的人名。 CONTENT_TYPE:POST發(fā)送,一般為application/xwww-form-urlencoded。 CONTENT_LENGTH:POST方法輸入的數(shù)據(jù)的字節(jié)數(shù)。 7、執(zhí)行原理1.瀏覽器通過HTML表單或超鏈接請求指向一個CGI應用程序的URL。 2.服務器收發(fā)到請求。 3.服務器執(zhí)行指定CGI應用程序。 4.CGI應用程序執(zhí)行所需要的操作,通常是基于瀏覽者輸入的內(nèi)容。 5.CGI應用程序把結果格式化為網(wǎng)絡服務器和瀏覽器能夠理解的文檔(通常是HTML網(wǎng)頁)。 6.網(wǎng)絡服務器把結果返回到瀏覽器中。
總結
- 上一篇: C语言 | 编写一个简单的定时关机程序
- 下一篇: 安卓APP设计规范和设计细节