我們知道,最初的網際網絡網站是為了滿足物理學家在網上交流資料的需要而設計的。因此,這些初期的網站只具有基本的提供信息的功能。網站保存著許多設計好的網頁。稱為靜態信息網頁,如某些產品或用戶的圖片和有關資料。這些網頁由網站服務器,或更準確地說是網頁服務器 (Web Server)來管理,如微軟視窗的文件管理 器管 理視 窗文 件。用戶,即 網頁瀏覽 器(browser),從指定的網頁地址 URL下載網頁。用戶與網站的聯結和通訊使用非常簡單的所謂Htp (Hyper TextTransfer Protocol)協議。當網站服務器收到用戶的索取網頁的Htp指令時負責提供這些網頁給用戶。用戶與網站的聯結在索取和提供動作完成之后即不再存在,即所謂的無狀態Stateless聯結。Htp最新的1.1版本在這方面有所改進,但基本上還是無狀態聯結,我們不在此作深人討論。
這樣的網站就像一個網上圖書館,網站服務器本身一般只可以提供用戶那些已存放在網站內的靜態信息網頁,網站服務器就像一個遠程的文件管理器,只是網頁文件本身之間有互相連接和調閱的功能。在用戶方面,瀏覽器的功能就如它的名稱所示,只是顯示從網站服務器傳來的網頁。顯然,不要說從事商務活動.這樣的功能還比不上一個真實的現代化圖書館,要把網站的功能擴展到一個現代化圖書館,第一就是要像圖書館一樣有檢索功能,要檢索就必須要有利用網站計算機上的數據庫或其它資源,檢索的結果必須送回給用戶,即網站必須能在運行時制造新的網頁,即動態網頁。簡而言之,網站必須能利用網站計算機上的資源,網站服務器作為一個文件管理器,與其所借以運行的計算機上的其它資源和運行程序基本上是獨立的。
因此我們需要一個溝通網站服務器和計算機之間的橋梁,這個橋梁就叫做是CGI 。通過 CGI網站服務器可以啟動計算機上的一些程序來完成上述的任務,這些程序就叫做是CGI程序。這些程序一般為敘述語言程序Script,也可以是執行程序。Perl Script就是早期最流行的CGI語言之一。使用敘述語言程序是因為它比較容易處理計算機上的文件,從歷史的原因分析,由于網站的急速發展,大多數網頁編寫員都來自計算機以外的行業,容易編寫的敘述程序也比較容易推廣。一般來說,CGI程序的使用就像瀏覽網頁一樣簡單,寫好的程序置放在一定的文件欄里,通常是比如說,網頁需要利用放在文件欄里的CGI程序counter.川,在網頁里加上指向這個地址的指令 |