» 网友学堂 » CGI教程 » cgi:基础的基础
cgi:基础的基础
作者:hinet 发表时间:2007-2-26 18:54 阅读:761次 在百度搜索相关内容

1.1 为什么使用CGI?
[indent]
我没有把什么是CGI放在基础篇的第一段,是因为实在很难说明白到底什么是CGI。而
[/indent]
如果你先知道CGI有什么作用,将会很好的理解CGI是什么这个概念。 CGI可以为我们提供许多
HTML无法做到的功能。比如 a.一个记数器 b.顾客信息表格的提交以及统计 c.搜索程d.WEB数
据库 用Html是没有办法记住客户的任何信息的,就算用户愿意让你知道。用Html也是无法把信
息记录到某一个特定文件里的。要把客户段的信息记录在服务器的硬盘上,就要用到CGI。 这是
CGI最重要的作用,它补充了Html的不足。是的,仅仅是补充,不是替代。
1.2 CGI是什么?
[indent]
好了,现在我们来说到底什么是CGI。Common Gate Intergace听起来让人有些专业,
[/indent]
我们就管它叫CGI好了。在物理上,CGI是一段程序,它运行在Server上,提供同客户段 Html页
面的接口。这样说大概还不好理解。那么我们看一个实际例子: 现在的个人主页上大部分都有
一个留言本。留言本的工作是这样的:先由用户在客户段输入一些信息,如名字之类的东西。接
着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI
目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把
用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经
结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。
1.3 选择你熟悉的编程语言
[indent]
既然CGI是一种程序,自然需要用编程语言来写。你可以用任何一种你熟悉的高级语
[/indent]
言, 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 安全
[indent]
我想各位敏感的朋友又要问我关于安全性能的问题了。实际上CGI是比较安全的,至
[/indent]
少比 那些没有数字签名的ActiveX控件要安全的多。除非你有意在程序里加入了破坏Server的
命令, 否则一般不会有什么严重的后果。而个人网站不向大众开放CGI目录,则因为怕各位学习
不精,无端增加服务器的负担,所以一般不提供。
小结:
[indent]
本章讲述了CGI基本概念,也说明了各种编程语言的优缺点,同时解释了为什么个人
[/indent]
网站不提供CGI的原因。接下来我们开始正式学习。


[ 本帖最后由 hinet 于 2007-2-26 18:55 编辑 ]