cgi
指令碼是任何執行在
web伺服器上的程式,
cgi是
common gateway inte***ce
的縮寫,「通用閘道器介面」的意思。簡單地講,
cgi指令碼是乙個可以執行在
web伺服器上的程式,由瀏覽器的輸入觸發。使用這種指令碼,可以執行伺服器端的任何操作,但
cgi指令碼通常用於構建伺服器程式和其他系統程式,例如資料庫之間的橋梁。
cgi指令碼可能是乙個指令碼,或者乙個二進位制可執行程式,也就是說它可能是乙個編譯好的程式或者批命令檔案或者其他可執行的東西。它的乙個共同的特性是可以執行並將結果反饋回來。
cgi指令碼可以利用如下的兩種方法使用:作為乙個表單的
action
的響應物件的
url。例如有乙個指令碼叫
show_data
,它是乙個指向
cgi指令碼的鏈結,其
html
表示如下:
show the date
一般情況下,
cgi指令碼都放在目錄「
/cgi-bin/
」下,在許多
web伺服器中,目錄
cgi-bin
是僅能夠放置
cgi指令碼的目錄。
當網路瀏覽器執行這個鏈結的時候,瀏覽器向客戶端主機
192.168.1.100
傳送請求,伺服器接收到客戶端的請求,然後執行
cgi指令碼,並將結果反饋回來。
假設showdate
是伺服器上的乙個
cgi指令碼程式,其**如下:
#!/bin/sh
echo content-type: text/plain
echo
/bin/date
第一行是個特殊的命令,告訴
unix
系統這是個
shell
指令碼;真實的情況是從這行開始的下一行,這個指令碼做兩件事:第一,它輸出行
content-type:text/plain
,接著開始乙個空行;第二,它呼叫
unix
系統時間
date
程式,輸出日期和時間。指令碼執行後輸出如下:
content-type: text/plain
tue dev 25 16:15:57 edt 2008
18 2 8 SHTTPD支援CGI的分析設計
web 伺服器中的 cgi是一段外部程式,它可以動態地生成 並可以接收輸入的引數。支援 cgi主要分為如下幾個部分 qcgi 執行程式和輸入引數的分析 q乙個程序執行 cgi程式,將 cgi程式的輸出發給與客戶端通訊的程序 q與客戶端通訊的程序生成頭部資訊,並將 cgi執行程序的輸出發給客戶端。cg...
18 1 5 SHTTPD支援頭部的需求
協議的頭部有很多內容,本書中僅介紹幾個常用的頭域。q主機頭域 主機頭域用於指定請求資源的網路主機 ip位址和埠號,客戶端在傳送請求的時候必須在 url中包含原始伺服器或閘道器的位置。請求必須包含主機頭域,如果沒有包含主機頭域 web伺服器會返回錯誤碼 400。q參考頭域 參考頭域允許客戶端指定請求 ...
Tomcat 開啟 cgi 支援
環境搭建 2.修改tomcat配置 l 修改tomcat根目下 conf web.xml配置檔案,開啟對cgiservlet 和對應 map的注釋。cgiorg.apache.catalina.servlets.cgiservlet debug 0cgipathprefix web inf cgi5...