什么是CGI?
CGI代表通用网关接口(Common Gateway Interface)。本质上,CGI是运行在服务器上的程序。它可以用任何语言编写- 只要能够在你的服务器上运行。Perl之所以能够成为CGI编程的首选,是因为它可以适应所有的平台,而且拥有很多对Web来说非常理想的工具。
当在一个网页上填充一个form并按‘Submit‘时,有2件事在服务器上发生:
敲入或选择的所有信息被拷贝到服务器。
服务器寻找在form顶部确定的程序,然后运行之。
程序做的第一件事通常是请求网页form中的内容,然后把它赋给变量。然后程序可以查询数据库、发送一封电子邮件或加入留言板、或者任何你想做的事。
我们通过例子学习教程。对每个新的主题,我们查看整段代码,然后分成小片段并进行讨论。在你在Unix服务器上使用Perl之前,应该对Unix有一些了解。
Unix环境
你应该会用Telnet登录到Unix服务器上以便能用Perl创建CGI。
你也应该能把文档FTP到服务器上。
实际上,Unix是一种最强大和灵活的操作系统。当作为终端使用时,用户用一种称为X-Windows的图形用户界面。X-Windows因为在互联网上太慢而无法使用,所以我们将使
用命令行方式。
命令行提示
每次在Unix中输入新的一行,将得到一个命令行提示。通常以机器名然后跟着一个%或#字符的形式出现。这是输入基本命令来创建、拷贝、移动和删除文件的地方,还可以做
其它事情。
试试这些联系:
打开你最喜欢的Mac或PC字处理器。对于HTML来说,用一种简单的能把代码存成纯文本的编辑器。敲入这行:This is a dummy sentenc.
把文件保存为practice.txt。
用FTP程序把这个文件上载到服务器上。注意:应该以ASCII的方式上载你的CGI文件,不能用binary方式。
用TELNET程序访问你的Web服务器。
用你的用户名和口令LOGIN。
敲入ls然后按回车键(注意:使用小写,Unix区分大小写),你的Web服务器中的内容将列在屏幕上,应该能够看到你的practice.txt。
敲入pwd然后按回车。pwd代表“打印工作目录(Print
Working Directory)”。从服务器的ROOT目录到你的当前目录的路径将显示出来。例如,我的主目录是/home/usr/robyoung/htdocs。
敲入mkdir myfolder然后按回车 - 创建一个叫‘myfolder‘的目录。
敲入mv practice.txt myfolder/practice.txt然后按回车 - 把practice.txt移动到myfolder中。
敲入cd myfolder然后按回车 - 进入myfolder目录。
敲入pwd然后按回车 - 路径名以/myfolder结束。
敲入ls然后按回车 - myfolder中的内容将显示出来 -只有practice.txt。
敲入cp practice.txt copy2.txt然后按回车 -做一个拷贝。
敲入ls然后按回车 - 将列出两个文件。
敲入rm copy2.txt然后按回车 - 删除这个文件。
敲入ls然后按回车 - 只剩下practice.txt。