cgi 是web 伺服器執行時外部程式的規範,按cgi 編寫的程式可以擴充套件伺服器功能。cgi 應用程式能與瀏覽器進行互動,還可通過資料庫api 與資料庫伺服器等外部資料來源進行通訊,從資料庫伺服器中獲取資料。格式化為html文件後,傳送給瀏覽器,也可以將從瀏覽器獲得的資料放到資料庫中。幾乎所有伺服器都支援cgi,可用任何語言編寫cgi,包括流行的c、c ++、vb 和delphi 等。cgi 分為標準cgi 和間接cgi兩種。標準cgi 使用命令列引數或環境變數表示伺服器的詳細請求,伺服器與瀏覽器通訊採用標準輸入輸出方式。間接cgi 又稱緩衝cgi,在cgi 程式和cgi 介面之間插入乙個緩衝程式,緩衝程式與cgi 介面間用標準輸入輸出進行通訊。
上面這一段話第一次接觸cgi,可能不懂到底什麼意思,下面舉乙個例子方便理解。
以apache為例,在配置檔案httpd.conf中搜尋cgi關鍵字,下面是主要的配置
scriptalias /cgi-bin/ "/usr/local/apache/cgi-bin/"進入apache下面的cgi-bin目錄,建立乙個檔案,檔名為index.cgi,擴充套件名為.cgi,這個和php檔案的副檔名是.php是一樣的。#scriptsock cgisock
allowoverride all
options none
require all granted
index.cgi的內容如下:
#!/bin/bash然後在瀏覽器中訪問localhost/cgi-bin/index.cgi,你就會看到結果如下:#index.cgi
echo "content-type:text/html;charset=utf-8"
echo
echo "hello world"
然後將index.cgi的內容改一下:
#!/bin/bash瀏覽器執行如下:#index.cgi
echo "content-type:text/html;charset=utf-8"
echo
mysql="mysql -uroot -proot"
sql="show databases"
$mysql -e "$sql"
其實,從上面的例子中,你就會得出一點結論,cgi就和php類似,只不過php檔案中使用的使用php的語法,cgi中使用的shell命令,但是,都可以通過瀏覽器來執行指令碼,獲得結果。
現在看一下cgi的定義:cgi 應用程式能與瀏覽器進行互動,還可通過資料庫api 與資料庫伺服器等外部資料來源進行通訊,從資料庫伺服器中獲取資料。格式化為html文件後,傳送給瀏覽器,也可以將從瀏覽器獲得的資料放到資料庫中。
是不是有點理解了。
shell指令碼初識
shell指令碼初識 了解shell shell是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。指令碼結構 shell指令碼 shell script 即為一種shell編寫的指令碼程式 開頭要以 bin bash或是 bin sh 此特殊符號...
Shell指令碼 初識
1.在一般情況下,人們並不區分 bourne shell 和 bourne again shell,所以,像 bin sh,它同樣也可以改為 bin bash。告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式。2.1 作為可執行程式 將 儲存為 test.sh,並 cd 到相應目...
Shell 指令碼初學
其實這個是因為伺服器卡不夠用,為了充分占用一塊卡的資源,需要寫個shell指令碼幫忙執行網路 shell是一種指令碼語言 區別於編譯語言 在unix上基本都通用。在我看來,這個指令碼主要並不是用來計算,而是用來管理打雜的。第乙個程式,還是輸出hello world吧。首先建立乙個指令碼檔案 vim ...