.cgi(CGI是什麽意思呀??)
最近很多小夥伴想了解.cgi,今天小編專門整理了.cgi的相關內容分享給大家,讓我們一起看看吧。
本文目錄一覽:
- 1、CGI的定義
- 2、後綴為CGI的文件用啥打開?
- 3、CGI是什麽意思呀??
CGI的定義
分類: 電腦/網絡
解析:
CGI
1. 定義:
CGI全稱是“公共網關界麵”(Common Gateway Interface),HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,其程序須運行在網絡服務器上。
2. 功能:
絕大多數的CGI程序被用來解釋處理傑自表單的輸入信息,並在服務器產生相應的處理,或將相應的信息反饋給瀏覽器。CGI程序使網頁具有交互功能。
3. 運行環境:
CGI程序最初在UNIX操作係統上CERN或NCSA格式的服務器上運行。
在其它操作係統(如:windows NT及windows95等)的服務器上也廣泛地使用CGI程序,同時它也適用於各種類型機器。
4. CGI處理步驟:
⑴通過Inter把用戶請求送到服務器。
⑵服務器接收用戶請求並交給CGI程序處理。
⑶CGI程序把處理結果傳送給服務器。
⑷服務器把結果送回到用戶。
5. CGI服務器配置:
CGI程序不是放在服務器上就能順利運行,如果要想使其在服務器上順利的運行並準確的處理用戶的請求,則須對所使用的服務器進行必要的設置。
配置:根據所使用的服務器類型以及它的設置把CGI程序放在某一特定的目錄中或使其帶有特定的擴展名。
⑴CREN格式服務器的配置:
編輯CREN格式服務器的配置文件(通常為/etc/d.conf)
在文件中加入:Exec cgi-bin/*/homecgi-bin/*.exec命令中出現的第一個參數cgi-bin/*指出了在URL中出現的目錄名字,並表示它出現在係統主機後的第一個目錄中,如:edgar.stern.nyn.edu/cgi-bin/
命令中的第二個參數表示CGI程序目錄放在係統中的真實路徑。
CGI目錄除了可以點網絡文件放在同一目錄中,也可以放在係統的其它目錄中,但必須保證在你的係統中也具有同樣的目錄。在對服務器完成設置後,須重新啟動服務器(除非HTTP服務器是用id啟動的)。
⑵NCSA格式服務器的配置
在NCSA格式服務器上有兩種方法進行設置:
①在srm.conf文件(通常在conf目錄下)中加入:Script Alias/cgi-bin/cgi-bin/
Script Alias命令指出某一目錄下的文件是可執行程序,且這個命令是用來執行這些程序的;此命令的兩個參數與CERN格式服務器中的Exec命令的參數的含意一樣。
②在srm.conf文件加入:Add type application/x-d-cgi.cgi
此命令表示在服務器上增加了一種新的文件類型,其後第一個參數為CGI程序的MIME類型,第二個參數是文件的擴展名,表示以這一擴展名為擴展名的文件是CGI程序。
在用上述方法之一設置服務器後,都得重新啟動服務器(除非HTTP服務器是用id啟動的)。
6. CGI的編寫語言
CGI可以用任何一種語言編寫,隻要這種語言具有標準輸入、輸出和環境變量。對初學者來說,最好選用易於歸檔和能有效表示大量數據結構的語言,例如UNIX環境中:
ⷠPerl (Practical Extraction and Reporting Language)
ⷠBourne Shed或者Tcl (Tool Command Language)
Windows環境中:
ⷠC和C++
由於Inter上大部分服務器使用的是UNIX操作係統,且幾乎任一UNIX操作係統中都有Bourne Shell,因而後麵講述的例子中大部分是用Bourne Shell編寫的。
最終Perl由於其跨操作係統、易於修改的特性成為了CGI的主流編寫語言,以至於一般的“cgi程序”就是Perl程序。
7. 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/x-form-urlencoded。
CONTENT-LENGTH:POST方法輸入的數據的字節數。
後綴為CGI的文件用啥打開?
分類: 電腦/網絡 軟件
解析:
.cgi的如果說你是要看源文件的話用記事本就可以了。
如果說要看執行效果的話,需要借助perl解釋程序和一個WEB服務(如IIS)。當然是需要配置的,讓IIS支持認.cgi文件,並通過perl解釋程序後返回結果。默認IIS是不支持perl的。在BAIDU裏搜索一下IIS CGI就會有類似的文章教你配置IIS了。
CGI是什麽意思呀??
公共網關接口(Common Gateway Interface,CGI)是Web 服務器運行時外部程序的規範,按CGI 編寫的程序可以擴展服務器功能。
CGI 應用程序能與瀏覽器進行交互,還可通過數據API與數據庫服務器等外部數據源進行通信,從數據庫服務器中獲取數據。格式化為HTML文檔後,發送給瀏覽器,也可以將從瀏覽器獲得的數據放到數據庫中。
通過CGI 協議,再結合已搭建好的web應用程序,就可以讓web server也能"處理"動態請求(或者說,當用戶訪問某個特定資源時,可以觸發執行某個web應用程序來實現特定功能)。
擴展資料
CGI規範定義了Web服務器如何向擴展應用程序發送消息,在收到擴展應用程序的信息後又如何進行處理等內容。
對於許多靜態的HTML網頁無法實現的功能,通過 CGI可以實現,比如表單的處理、對數據庫的訪問、搜索引擎、基於Web的數據庫訪問等等。
當CGI進程接收到web server的請求後,調用search程序並執行,同時還會傳遞參數給search程序。search執行結束後,CGI進程/線程將處理結果返回給web server,web server再返回給瀏覽器。
參考資料來源:百度百科-CGI
以上就是.cgi的相關介紹,希望能對大家有所幫助。
本文到此結束,希望對大家有所幫助呢。