CGI(Common Gateway Interface)公共網關接口,簡單地說,CGI技術能夠使用戶在客戶端的瀏覽器上輸入數據提交到在Web服務器上運行,再將用戶所需要的數據信息返回到用戶的瀏覽器;使用較多的是各類數據查詢,上網時常用的“搜索引擎”就是一個CGI程序。 CGI是一個標準的名字,它定義了Web服務器與其他應用或其他程序交互作用的規范。CGI并不指定在這種交互作用中必須使用的語言或方法,所以,可以從Web服務器的操作系統中選用任何可用的工具。 CGI提供了一種標準的接口,使得Web服務器能夠執行其他程序并把它們的輸出組織進文本、圖形或聲音之中,然后發送給Web瀏覽器。這樣,服務器與CGI程序結合起來工作,大大提高和擴充了WWW的功能。 例如,CGI程序能夠處理表單輸入,查找數據庫中的記錄,發送電子郵件,網頁訪問計數器以及許多其他的功能。因此,有了 CGI 技術以后,使得 Web 變得更為生動活潑、用途更加廣泛。 當然,CGI 技術允許用戶在Web 服務器上發布CGI程序,也就意味著實際上允許Web用戶可在服務器上運行程序,因此就帶來了CGI 的安全性問題,這需要在設計中應加以極大的注意并采取一定的防范措施。 瀏覽器與Web服務器(程序)之間的通信采用超文本傳送協議HTTP,一次HTTP交易操作,由四個過程組成,即建立連接—請求—響應—關閉連接。也可以進一步把上述幾個過程更具體細分為如下步驟: (1)當點擊某個鏈接時,瀏覽器解析出統一資源定位符 URL,并尋找該服務器,如成功就與之建立連接。 (2)瀏覽器提出服務請求,即把URL的其余部分提交給服務器。 (3)服務器把URL翻譯成一路徑和文件名,以搜索該文件。 (4)服務器把此文件發送給瀏覽器。 (5)服務器中斷與瀏覽器的連接,雖然此時客戶機與網絡仍處于接通狀態。 (6)瀏覽器顯示此文檔文件。 如果再點擊另一鏈接,也就是再重復一遍上述過程。每次用戶與服務器進行連接時都好像從未訪問過一樣,每次請求只產生一個文檔,服務器中并不記錄訪問歷史情況和狀態,因此叫無狀態連接,即HTTP1.0 協議。 |