詞語解釋
CGI(Common Gateway Interface)是一種用于實現(xiàn)Web服務器與其他應用程序(稱為CGI程序)之間的通信接口。它是一種服務器端的腳本技術,可以在Web服務器上運行,以滿足用戶的特定需求。 CGI的主要功能是將Web服務器與其他應用程序(如Perl,C++,Python等)連接起來,以便實現(xiàn)數(shù)據(jù)交換和操作。它可以實現(xiàn)從Web服務器收集數(shù)據(jù),并將其發(fā)送到其他應用程序,或者將其他應用程序的結果發(fā)送到Web服務器,以便在Web頁面上顯示。 CGI程序可以用于處理復雜的數(shù)據(jù),如數(shù)據(jù)庫查詢,統(tǒng)計分析,圖形處理,模擬,等等。它還可以用于實現(xiàn)Web服務器的動態(tài)內(nèi)容,如自動生成HTML頁面,處理表單,提供搜索功能,實現(xiàn)用戶登錄,實現(xiàn)網(wǎng)上商店,等等。 CGI還可以用于實現(xiàn)客戶端的特定功能,如用戶自定義頁面,在線聊天,論壇,訂閱服務,等等。 總之,CGI是一種有用的技術,可以幫助Web開發(fā)人員實現(xiàn)各種功能,使Web服務器更具有靈活性和可擴展性。 1. 定義: CGI全稱是“公共網(wǎng)關接口”(Common Gateway Interface),HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,其程序須運行在網(wǎng)絡服務器上。 Common Gate Interface聽起來讓人有些專業(yè), 我們就管它叫CGI好了。在物理上,CGI是一段程序,它運行在Server上,提供同客戶段 Html頁面的接口。這樣說大概還不好理解。那么我們看一個實際例子: 現(xiàn)在的個人主頁上大部分都有一個留言本。留言本的工作是這樣的:先由用戶在客戶段輸入一些信息,如名字之類的東西。接著用戶按一下“留言”(到目前為止工作都在客戶端),瀏覽器把這些信息傳送到服務器的CGI目錄下特定的cgi程序中,于是cgi程序在服務器上按照預定的方法進行處理。在本例中就是把用戶提交的信息存入指定的文件中。然后cgi程序給客戶端發(fā)送一個信息,表示請求的任務已經(jīng)結束。此時用戶在瀏覽器里將看到“留言結束”的字樣。整個過程結束。 2. 功能: 絕大多數(shù)的CGI程序被用來解釋處理來自表單的輸入信息,并在服務器產(chǎn)生相應的處理,或將相應的信息反饋給瀏覽器。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目錄下)中加入:s cript Alias/cgi-bin/cgi-bin/ s cript Alias命令指出某一目錄下的文件是可執(zhí)行程序,且這個命令是用來執(zhí)行這些程序的;此命令的兩個參數(shù)與CERN格式服務器中的Exec命令的參數(shù)的含意一樣。 ②在srm.conf文件加入:Add type application/x-httpd-cgi.cgi 此命令表示在服務器上增加了一種新的文件類型,其后第一個參數(shù)為CGI程序的MIME類型,第二個參數(shù)是文件的擴展名,表示以這一擴展名為擴展名的文件是CGI程序。 在用上述方法之一設置服務器后,都得重新啟動服務器(除非HTTP服務器是用inetd啟動的)。 6. CGI的編寫語言 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環(huán)境變量。對初學者來說,最好選用易于歸檔和能有效表示大量數(shù)據(jù)結構的語言,例如UNIX環(huán)境中: · Perl (Practical Extraction and Reporting Language) · Bourne Shed或者Tcl (Tool Command Language) Windows環(huán)境中: · C和C++ 由于Internet上大部分服務器使用的是UNIX操作系統(tǒng),且?guī)缀跞我籙NIX操作系統(tǒng)中都有Bourne Shell,因而后面講述的例子中大部分是用Bourne Shell編寫的。 最終Perl由于其跨操作系統(tǒng)、易于修改的特性成為了CGI的主流編寫語言,以至于一般的“cgi程序”就是Perl程序。 7. CGI環(huán)境變量列表 SERVER-NAME:運行CGI序為機器名或IP地址。 SEUVER-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ù)時的附加路徑。 s cript-NAME: CGI程序的路徑名。 QUERY-STRING:表單輸入的數(shù)據(jù),URL中間號后的內(nèi)容。 REMOTE-NOST:發(fā)送程序的主機名,不能確定該值。 REMOTE-ADDR:發(fā)送程序的機器的IP地址。 REMOTE-USBR:發(fā)送程序的人名。 CONTENT-TYPE:POST發(fā)送,一般為applioation/xwww-form-urlencoded。 CONTENT-LENGTH:POST方法輸入的數(shù)據(jù)的字節(jié)數(shù)。 8.為什么使用CGI? CGI可以為我們提供許多HTML無法做到的功能。比如 a.一個記數(shù)器 b.顧客信息表格的提交以及統(tǒng)計 c.搜索程d.WEB數(shù) 據(jù)庫 用Html是沒有辦法記住客戶的任何信息的,就算用戶愿意讓你知道。用Html也是無法把信息記錄到某一個特定文件里的。要把客戶段的信息記錄在服務器的硬盤上,就要用到CGI。 這是CGI最重要的作用,它補充了Html的不足。是的,僅僅是補充,不是替代。 CGI (Cell Global Identity) 全球小區(qū)標示 在GSM中,用來標示一個基站子系統(tǒng)或者基站小區(qū)。 格式為 補充: CGI(Computer Generation Image)三次元CG CGI(Computer Graphics Interface)計算機圖形接口 CGI (Cell Global Identity)小區(qū)全球識別碼
1. 定義: CGI全稱是“公共網(wǎng)關接口”(Common Gateway Interface),HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,其程序須運行在網(wǎng)絡服務器上。 Common Gate Interface聽起來讓人有些專業(yè), 我們就管它叫CGI好了。在物理上,CGI是一段程序,它運行在Server上,提供同客戶段 Html頁面的接口。這樣說大概還不好理解。那么我們看一個實際例子: 現(xiàn)在的個人主頁上大部分都有一個留言本。留言本的工作是這樣的:先由用戶在客戶段輸入一些信息,如名字之類的東西。接著用戶按一下“留言”(到目前為止工作都在客戶端),瀏覽器把這些信息傳送到服務器的CGI目錄下特定的cgi程序中,于是cgi程序在服務器上按照預定的方法進行處理。在本例中就是把用戶提交的信息存入指定的文件中。然后cgi程序給客戶端發(fā)送一個信息,表示請求的任務已經(jīng)結束。此時用戶在瀏覽器里將看到“留言結束”的字樣。整個過程結束。 2. 功能: 絕大多數(shù)的CGI程序被用來解釋處理來自表單的輸入信息,并在服務器產(chǎn)生相應的處理,或將相應的信息反饋給瀏覽器。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目錄下)中加入:s cript Alias/cgi-bin/cgi-bin/ s cript Alias命令指出某一目錄下的文件是可執(zhí)行程序,且這個命令是用來執(zhí)行這些程序的;此命令的兩個參數(shù)與CERN格式服務器中的Exec命令的參數(shù)的含意一樣。 ②在srm.conf文件加入:Add type application/x-httpd-cgi.cgi 此命令表示在服務器上增加了一種新的文件類型,其后第一個參數(shù)為CGI程序的MIME類型,第二個參數(shù)是文件的擴展名,表示以這一擴展名為擴展名的文件是CGI程序。 在用上述方法之一設置服務器后,都得重新啟動服務器(除非HTTP服務器是用inetd啟動的)。 6. CGI的編寫語言 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環(huán)境變量。對初學者來說,最好選用易于歸檔和能有效表示大量數(shù)據(jù)結構的語言,例如UNIX環(huán)境中: · Perl (Practical Extraction and Reporting Language) · Bourne Shed或者Tcl (Tool Command Language) Windows環(huán)境中: · C和C++ 由于Internet上大部分服務器使用的是UNIX操作系統(tǒng),且?guī)缀跞我籙NIX操作系統(tǒng)中都有Bourne Shell,因而后面講述的例子中大部分是用Bourne Shell編寫的。 最終Perl由于其跨操作系統(tǒng)、易于修改的特性成為了CGI的主流編寫語言,以至于一般的“cgi程序”就是Perl程序。 7. CGI環(huán)境變量列表 SERVER-NAME:運行CGI序為機器名或IP地址。 SEUVER-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ù)時的附加路徑。 s cript-NAME: CGI程序的路徑名。 QUERY-STRING:表單輸入的數(shù)據(jù),URL中間號后的內(nèi)容。 REMOTE-NOST:發(fā)送程序的主機名,不能確定該值。 REMOTE-ADDR:發(fā)送程序的機器的IP地址。 REMOTE-USBR:發(fā)送程序的人名。 CONTENT-TYPE:POST發(fā)送,一般為applioation/xwww-form-urlencoded。 CONTENT-LENGTH:POST方法輸入的數(shù)據(jù)的字節(jié)數(shù)。 8.為什么使用CGI? CGI可以為我們提供許多HTML無法做到的功能。比如 a.一個記數(shù)器 b.顧客信息表格的提交以及統(tǒng)計 c.搜索程d.WEB數(shù) 據(jù)庫 用Html是沒有辦法記住客戶的任何信息的,就算用戶愿意讓你知道。用Html也是無法把信息記錄到某一個特定文件里的。要把客戶段的信息記錄在服務器的硬盤上,就要用到CGI。 這是CGI最重要的作用,它補充了Html的不足。是的,僅僅是補充,不是替代。 CGI (Cell Global Identity) 全球小區(qū)標示 在GSM中,用來標示一個基站子系統(tǒng)或者基站小區(qū)。 格式為 補充: CGI(Computer Generation Image)三次元CG CGI(Computer Graphics Interface)計算機圖形接口 CGI (Cell Global Identity)小區(qū)全球識別碼
抱歉,此頁面的內(nèi)容受版權保護,復制需扣除次數(shù),次數(shù)不足時需付費購買。
如需下載請點擊:點擊此處下載
掃碼付費即可復制
前置放大器 | 機房環(huán)境監(jiān)控系統(tǒng) | 系統(tǒng)測試工程師 | FCCU | rel | MER | EVPL | cit | 信納比 | 阻抗 | 世界電信展 | Player/Stage |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助