CGI 目前由 NCSA 維護,NCSA 定義 CGI 以下:html
CGI(Common Gateway Interface),通用網關接口,它是一段程序,運行在服務器上如:HTTP 服務器,提供同客戶端 HTML 頁面的接口。python
爲了更好的瞭解 CGI 是如何工做的,咱們能夠從在網頁上點擊一個連接或 URL 的流程:web
CGI 程序能夠是 Python 腳本,PERL 腳本,SHELL 腳本,C 或者 C++ 程序等。編程
在你進行 CGI 編程前,確保您的 Web 服務器支持 CGI 及已經配置了 CGI 的處理程序。瀏覽器
Apache 支持 CGI 配置:服務器
設置好CGI目錄:架構
全部的HTTP服務器執行 CGI 程序都保存在一https://www.xuanhe.net/個預先配置的目錄。這個目錄被稱爲 CGI 目錄,並按照慣例,它被命名爲 /var/www/cgi-bin 目錄。.net
CGI 文件的擴展名爲 .cgi,python 也能夠使用 .py 擴展名。3d
默認狀況下,Linux 服務器配置運行的 cgi-bin 目錄中爲 /var/www。htm
若是你想指定其餘運行 CGI 腳本的目錄,能夠修改 httpd.conf 配置文件,以下所示:
在 AddHandler 中添加 .py 後綴,這樣咱們就能夠訪問 .py 結尾的 python 腳本文件:
咱們使用 Python 建立第一個 CGI 程序,文件名爲 hello.py,文件位於 /var/www/cgi-bin 目錄中,內容以下:
文件保存後修改 hello.py,修改文件權限爲 755:
以上程序在瀏覽器訪問 http://localhost/cgi-bin/hello.py 顯示結果以下:
這個的hello.py腳本是一個簡單的Python腳本,腳本第一行的輸出內容"Content-type:text/html"發送到瀏覽器並告知瀏覽器顯示的內容類型爲"text/html"。
用 print 輸出一個空行用於告訴服務器結束頭部信息。