網路 CGI入門!!

2021-08-20 22:32:55 字數 1548 閱讀 8051

概念:

cgi:通用閘道器介面(common gateway inte***ce)是乙個web伺服器主機提供資訊服務的標準介面。通過cgi介面,web伺服器就能夠獲取客戶端提交的資訊,轉交給伺服器端的cgi程式進行處理,最後返回結果給客戶端。

組成cgi通訊系統的是兩部分:一部分是html頁面,就是在使用者端瀏覽器上顯示的頁面。另一部分則是執行在伺服器上的cgi程式。

工作原理:

伺服器和客戶端之間的通訊,是客戶端的瀏覽器和伺服器端的http伺服器之間的http通訊,我們只需要知道瀏覽器請求執行伺服器上哪個cgi程式就可以了,其他不必深究細節,因為這些過程不需要程式設計師去操作。

伺服器和cgi程式之間的通訊才是我們關注的。一般情況下,伺服器和cgi程式之間是通過標準輸入輸出來進行資料傳遞的,而這個過程需要環境變數的協作方可實現。

環境變數:

對於cgi程式來說,它繼承了系統的環境變數。cgi環境變數在cgi程式啟動時初始化,在結束時銷毀。

當乙個cgi程式不是被http伺服器呼叫時,它的環境變數幾乎是系統環境變數的複製。

當這個cgi程式被http伺服器呼叫時,它的環境變數就會多了以下關於http伺服器、客戶端、cgi傳輸過程等專案。

2.get方法

在該方法下,cgi程式無法直接從伺服器的標準輸入中獲取資料,因為伺服器把它從標

準輸入接收到得資料編碼到環境變數query_string(或path_info)。

get與post的區別:採用get方法提交html表單資料的時候,客戶機將把這些數

據附加到由action標記命名的url的末尾,用乙個包括把經過url編碼後的資訊與cgi程式的名字分開:的值為name=hgq&id=1

有些程式設計師不願意採用get方法,因為在他們看來,把動態資訊附加在url的末尾有

違url的出發點:url作為一種標準用語,一般是用作網路資源的唯一定位標示。

環境變數是乙個儲存使用者資訊的記憶體區。當客戶端的使用者通過瀏覽器發出cgi請求時,伺服器就尋找本地的相應cgi程式並執行它。在執行cgi程式的同時,伺服器把該使用者的資訊儲存到環境變數裡。接下來,cgi程式的執行流程是這樣的:查詢與該cgi程式程序相應的環境變數:第一步是request_method,如果是post,就從環境變數的len,然後到該程序相應的標準輸入取出len長的資料。如果是get,則使用者資料就在環境變數的query_string裡。

3.post與get的區別

以 get 方式接收的資料是有長度限制,而用 post 方式接收的資料是沒有長度限制的。並且,以 get 方式傳送資料,可以通過url 的形式來傳送,但 post方式傳送的資料必須要通過 form 才到傳送。

int get_inputs()

}else if(!strcmp(method, 「get」))

if(length == 0)

return 0;

}

Python Module 網路程式設計之 cgi

cgi就是公共閘道器皆苦,具體的就是服務端和瀏覽器互動的介面模組,cgitb則用於輸出對應的報錯資訊 可以使用python自帶的伺服器執行,也可以使用apache等服務進行互動 服務端 第一行務必為 pythonpath python.exe 01目錄設定 在python安裝目錄新增資料夾cgi b...

CGI程式設計入門 GET與POST示例

關於cgi的程式設計,我也還是新手!但只要懂c,則基於c的cgi程式設計就不會很難!下面就get和post方法的應用,做乙個小小的demo,給剛學習cgi程式設計的新手提供一點感性認識!get方法 做乙個加法運算,需要接收兩個引數 檔案get.c如下 include include int main...

CGI程式設計 CGI環境變數

web伺服器和cgi fastcgi程式之間交流資訊的主要途徑是環境變數 以及標準輸入輸出流 這裡說的環境變數是指作業系統中的環境變數。windows系統下,path是很常見的乙個環境變數 cgi規範對cgi程式中使用的環境變數名稱及其含義做了具體而明確的規定,通常把這些環境變數成為 cgi環境變數...