您的位置:寻梦网首页编程乐园CGI编程CGI教程

第一章:基础的基础

1.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目录, 则因为怕各位学习不精, 无端增加服务器的负担, 所以一般不提供。

小结: 本章讲述了CGI基本概念, 也说明了各种编程语言的优缺点, 同时解释了为什么个人网站不提供CGI的原因。 接下来我们开始正式学习。

本教程是版主为各位没有机会接触Cgi程序的朋友写的, 欢迎转载, 但请注明作者和作者的电子邮件

-- 回目录 --