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