|
|
CGI簡明教程
第一章:基礎的基礎.
1 為什麼使用CGI?
我沒有把什麼是CGI放在基礎篇的第一段,是因為實在很難說明白到底什麼是CGI。而如果你先知道CGI有什麼作用,將會很好的理解CGI是什麼這個概念。 CGI可以為我們提供許多HTML無法做到的功能。比如 a.一個記數器 b.顧客信息表格的提交以及統計 c.搜索程序 d.WEB數據庫 用Html是沒有辦法記住客戶的任何信息的,就算用戶願意讓你知道。用Html也是無法把信息記錄到某一個特定文件裡的。要把客戶段的信息記錄在服務器的硬盤上,就要用到CGI。這是CGI最重要的作用,它補充了Html的不足。是的,僅僅是補充,不是替代。
1.2 CGI是什麼?
好了,現在我們來說到底什麼是CGI。Common Gate Intergace聽起來讓人有些專業,我們就管它叫CGI好了。在物理上,CGI是一段程序,它運行在Server上,提供同客戶段 Html頁面的接口。這樣說大概還不好理解。那麼我們看一個實際例子: 現在的個人主頁上大部分都有一個留言本。留言本的工作是這樣的:先由用戶在客戶段輸入一些信息,如名字之類的東西。接著用戶按一下“留言”(到目前為止工作都在客戶端),瀏覽器把這些信息傳送到服務器的cgi目錄下特定的cgi程序中,於是cgi程序在服務器上按照預定的方法進行處理。在本例中就是把用戶提交的信息存入指定的文件中。然後cgi程序給客戶端發送一個信息,表示請求的任務已經結束。此時用戶在瀏覽器裡將看到“留言結束”的字樣。整個過程結束。
1.3 選擇你熟悉的編程語言
既然CGI是一種程序,自然需要用編程語言來寫。你可以用任何一種你熟悉的高級語言, C,C++,C shell和VB。值得特別指出的,有一種叫Perl的語言。其前身是屬於Unix專用的高級語言,其具有強大的字符串處理能力而成為現在寫CGI,特別是表單類程序的首選。最近它已經有了Window95,和winnt版本。你可以在搜索程序裡找到在那裡下載它。 VB是Ms的殺手锏,從目前的情況看,微軟公司正試圖使VB無所不能。自然也包括在Internet 請各位注意,VB開發的程序只能在windows平台上被執行,所以它有一定局限。 C Shell,經典的語言。可惜能做的事情不多,而且必須在Unix平台下。 C,C++,正真的無所不能。可是在寫CGI的時候顯得非常難以掌握。特別是缺乏可以靈活使用的字符串處理函數。對程序員的要求也比較高,維護復雜。最後要提醒各位,因為CGI是Server和Clinet的接口,所以對於不同的Server,CGI程序的移值是一個很復雜的問題。一般對於不同的Server,決沒有兩個可以互相通用的CGI。實際上這就是CGI程序最復雜的地方。
1.4 安全
我想各位敏感的朋友又要問我關於安全性能的問題了。實際上CGI是比較安全的,至少比那些沒有數字簽名的ActiveX控件要安全的多。除非你有意在程序裡加入了破壞Server的命令,否則一般不會有什麼嚴重的後果。而個人網站不向大眾開放CGI目錄,則因為怕各位學習不精,無端增加服務器的負擔,所以一般不提供。
[ 本帖最後由 f66666602 於 2007-7-31 21:11 編輯 ] |
|