您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術>傳輸網(wǎng)/接入網(wǎng)/交換網(wǎng)>

什么是公共網(wǎng)關接口

2010年04月03日 15:04 www.wenjunhu.com 作者:佚名 用戶評論(0

什么是公共網(wǎng)關接口

CGI是信息服務器主機對外信息服務的標準接口,為了向客戶端提供動態(tài)信息而制定。通過專門編寫的CGI腳本程序(在CGI控制下運行的程序,通常稱CGI程序),不僅可以生成靜態(tài)的內(nèi)容,而且可以生成完全無法預見的動態(tài)的內(nèi)容。它能根據(jù)用戶的需求輸出動態(tài)信息,將數(shù)據(jù)庫服務器中的信息作為數(shù)據(jù)源對外提供服務,將WWW服務和數(shù)據(jù)庫服務結合起來。比如雅虎、搜狐等搜索引擎提供的強大搜索功能便是利用CGI實現(xiàn)的。

CGI是服務器的擴展,以擴充Web服務器能力。編寫的服務器擴展使得Web站點更生動有趣。它不是傳送一個乏味的靜態(tài)頁,CGI(和其他服務器擴展)讓Web客戶機從Web服務器請求信息。用戶填寫一個提交給服務器的表格,服務器使用提交的信息查詢數(shù)據(jù)庫或輸入到一個程序,然后結果用于創(chuàng)建定制的Web頁并將它發(fā)送給客戶機。注意:在服務器和客戶機間沒有“往返”信息,用戶必須填寫表格并提交它,必須檢測空白字段或含有錯誤信息的字段,并要求客戶機必須重新提交表格。

CGI是非會話式的。它不能在處理來自Web瀏覽器的數(shù)據(jù)過程中停止并返回Web瀏覽器請求更正數(shù)據(jù),CGI只允許數(shù)據(jù)輸入。CGI處理數(shù)據(jù),生成輸出,然后終止。如果網(wǎng)關需要數(shù)據(jù)被更正,它只能運行結束,并當Web服務器重新提交數(shù)據(jù)時再開始。 CGI接口是在Web客戶機和Web服務器間提供雙向接口的協(xié)議,CGI腳本是決定它們通信時發(fā)生什么的一套命令。發(fā)明CGI是為擴展HTTP協(xié)議。它由以下部分組成:

?置于HTML文檔中的CGI控制標記和字段說明符

?在服務器存放腳本用信息的內(nèi)存中的環(huán)境變量

?客戶機、服務器和腳本間的信息流

Web站點開發(fā)者使用CGI的步驟是,首先創(chuàng)建HTML表單并添加標簽以定義出現(xiàn)在表單上的輸入框、下拉列表框和按鈕,以便收集來自用戶的輸入。其次,編寫CGI腳本以接受端用戶在HTML表單上鍵入的信息,并用它做點什么,比如查詢后端數(shù)據(jù)庫。Perl是建立腳本和報表的工具,很多程序員用它創(chuàng)建CGI腳本。

CGI腳本程序可以用C、C++等語言在多種平臺上進行開發(fā)。無需太大修改就可以從一個平臺移植到另一個平臺上運行,具有很好的兼容性。

CGI應用程序可以是基于不同的程序系統(tǒng),如DOS、UNIX、Windows、Windows NT等。CGI應用程序可以使用UNIX Shell描述語言或Perl語言寫成。

CGI是極慢的,所以0pen Market創(chuàng)建了一個稱為FastCGI的協(xié)議來解決這一問題。FastCGI不需要服務器創(chuàng)建地址空間,而是每當它需要運行CGI時,通過維護一個總是可用的CGI進程池來實現(xiàn)。

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?