什麼是CGI
CGI 目前由NCSA維護,NCSA定義CGI如下:
CGI(Common Gateway Interface),通用網關接口,它是一段程式,運行在伺服器上如:HTTP伺服器,提供同客戶端HTML頁面的接口。
網頁瀏覽
為了更好的了解CGI是如何運作的,我們可以從在網頁上點擊一個連結或URL的流程:
1、使用你的瀏覽器訪問URL並連接到HTTP web 伺服器。
2、網路伺服器接收到請求資訊後會解析URL,並尋找存取的檔案在伺服器上是否存在,如果存在傳回檔案的內容,否則傳回錯誤訊息。
3、瀏覽器從伺服器上接收訊息,並顯示接收的檔案或錯誤訊息。
CGI程式可以是Python腳本,PERL腳本,SHELL腳本,C或C++程式等。
CGI架構圖
Web伺服器支援及設定
在你進行CGI程式設計前,確保您的Web伺服器支援CGI及已經設定了CGI的處理程序。
所有的HTTP伺服器執行CGI程式都保存在一個預先設定好的目錄中。這個目錄被稱為CGI目錄,並且按照慣例,它被命名為/var/www/cgi-bin目錄。
CGI檔案的副檔名為.cgi,python也可以使用.py副檔名。
預設情況下,Linux伺服器配置運行的cgi-bin目錄中為/var/www。
如果你想指定其他執行CGI腳本的目錄,可以修改httpd.conf設定文件,如下圖:
Order allow,deny Allow from all
第一個CGI程式
我們使用Python創建第一個CGI程序,檔案名稱為hellp.py,檔案位於/var/www/cgi-bin目錄中,內容如下,修改檔案的權限為755:
#!/usr/bin/python
print "Content-type:text/htmlrnprint"
print ''
>'. Hello Word - First CGI Program'
print ''
print '
'print '