第一个CGI程序:Hello World
Hello World!
任何程序语言的学习都是从打印Hello World!开始的,这样不但可以熟悉程序的流程和大体结构,而且最大限度的避免了一些细小的错误,给初学者信心。
hello.c
#include <stdio.h>
int main(){
printf("Content-Type:text/plain;charset=us-ascii\n\n");
printf("Hello World\n\n");
return 0;
}
#gcc –o hello.cgi hello.c
#cp hello.cgi /var/www/cgi-bin/
用GCC将源文件编译成CGI程序,并拷贝到服务器所制定的cgi程序运行目录中。在浏览器中输入:192.168.44.128/cgi-bin/hello.cgi可以看到页面打印出“Hello World”。
让我们再来一个更简单的CGI脚本:(Linux下)
#vim /var/www/cgi-bin/hellow.cgi
echo Conten-Type: text/plain
echo
echo
/bin/date
在浏览器中输入:192.168.44.128/cgi-bin/hellow.cgi,我们看到在浏览器页面中输出了当前时间。呵呵,这时应该对CGI是什么有比较深的印象里吧?CGI就是在服务器端执行的一段程序,这段程序执行完毕得到结果后会反馈显示给客户。编写CGI程序的可以是任何形式的语言。
在所有CGI程序中,第一句必须输出HTML头来告诉浏览器这是一个什么样的内容,这个头是服务器与浏览器之间的信息协议并不属于文本的一部分其实Contet-Type指定的就是MIME信息。有三个类型的头部:Contet-Type,Location,Status。Contet-Type最为常用
Format |
Content-Type |
HTML |
text/html |
Text |
text/plain |
GIF |
image/gif |
JPEG |
image/jpeg |
MPEG |
video/mpeg |
AVI |
Video/avi |
Content-Type行后必须接两个空行,不然浏览器不能正确的认出内容类型来。