公共網關接口

公共網關接口

公共網關接口提供一個電腦程式同HTTP協定或者WWW服務的接口,也就是人機互動接口;有了它,伺服器可以提供互動式的站點以代替過去靜態的文本和圖象。CGI通常使用PERL、C/C++、DELPHI等進行編寫。

簡介

公共網關接口公共網關接口
Common Gateway Interface,它提供一個電腦程式同HTTP協定或者WWW服務的接口,也就是人機互動接口;有了它,伺服器可以提供互動式的站點以代替過去靜態的文本和圖象。CGI通常使用PERL、C/C++、DELPHI等進行編寫。

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

是伺服器的擴展

CGI是伺服器的擴展,以擴充Web伺服器能力。編寫的伺服器擴展使得Web站點更生動有趣。它不是傳送一個乏味的靜態頁,CGI(和其他伺服器擴展)讓Web客戶機從Web伺服器請求信息。用戶填寫一個提交給伺服器的表格,伺服器使用提交的信息查詢資料庫或輸入到一個程式,然後結果用於創建定製的Web頁並將它傳送給客戶機。注意:在伺服器和客戶機間沒有“往返”信息,用戶必須填寫表格並提交它,必須檢測空白欄位或含有錯誤信息的欄位,並要求客戶機必須重新提交表格。

是非會話式的

CGI是非會話式的。它不能在處理來自Web瀏覽器的數據過程中停止並返回Web瀏覽器請求更正數據,CGI只允許數據輸入。CGI處理數據,生成輸出,然後終止。如果網關需要數據被更正,它只能運行結束,並當Web伺服器重新提交數據時再開始。 CGI接口是在Web客戶機和Web伺服器間提供雙向接口的協定,CGI腳本是決定它們通信時發生什麼的一套命令。發明CGI是為擴展HTTP協定。

公共網關接口公共網關接口

它由以下部分組成:

•置於HTML文檔中的CGI控制標記和欄位說明符

•在伺服器存放腳本用信息的記憶體中的環境變數

•客戶機、伺服器和腳本間的信息流

Web站點開發者使用CGI的步驟是,首先創建HTML表單並添加標籤以定義出現在表單上的輸入框、下拉列表框和按鈕,以便收集來自用戶的輸入。其次,編寫CGI腳本以接受端用戶在HTML表單上鍵入的信息,並用它做點什麼,比如查詢後端資料庫。Perl是建立腳本和報表的工具,很多程式設計師用它創建CGI腳本。

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

CGI應用程式可以是基於不同的程式系統,如DOS、UNIX、Windows、Windows NT等。CGI應用程式可以使用UNIX Shell描述語言或Perl語言寫成。

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

來自

"http://baike.eccn.com/eewiki/index.php/%E5%85%AC%E5%85%B1%E7%B6%B2%E9%97%9C%E6%8E%A5%E5%8F%A3"

相關詞條

MSUP 匯流排拓撲CSDP

協同處理 動態路由選擇 公共網關接口


相關搜尋

熱門詞條

聯絡我們