金笛邮件论坛  

返回   金笛邮件论坛 > 开发者乐园 > 电子邮件系统技术交流

回复
 
LinkBack 主题工具 显示模式
旧 2012-01-12, 16:47   #1 (permalink)
初级会员
 
注册日期: 2011-10-18
住址: 北京海淀
帖子: 11
呲牙 CGI简介

CGI 意思为 Common Gateway Interface, 一种基于浏览器的输入、在Web服务器上运行的程序方法. CGI脚本 使你的浏览器与用户能交互,为了在数据库中寻找一个名词, 提供你写入的评论,或者从一个表单中选择几个条目并且能得到一个明确的回答. 如果你曾经遇到过在web上填表或进行搜索, 你就是用的CGI脚本. 你那时也许没有意识到,因为大部分工作是在服务器上运行的,你看到的只是结果.
作为一个网页设计者, 你创建客户端的 CGI脚本, 服务器端的程序用来处理用户输入, 结果返回给用户.

CGI脚本是什么?
CGI脚本简单地讲是个运行在Web服务器上的程序, 有浏览器的输入触发. 这个脚本通常象服务器和系统中其他程序如数据库的桥梁。
CGI 脚本难道不是一个真正的脚本?按照你的服务器的支持, 他们可能是一个编译好的程序或者批命令文件或者其他可执行的东西. 为了简单起见,我们统称他们为脚本scripts.

CGI 脚本是任何运行在web服务器上的程序. CGI意思是Common Gateway Interface。

CGI脚本是怎样工作的?
CGI脚本有服务器调用, 基于浏览器的数据输入. 图1 显示在浏览器、服务器和脚本之间是怎样的一个流程.
这有个简短的示意解释:

1、一个URL指向一个CGI脚本. 一个CGI脚本的URL能如普通的URL一样在任何地方出现。
2、服务器接收请求, 按照那个URL指向的脚本文件(注意文件的位置和扩展名),执行脚本.
3、脚本执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序.
4、脚本产生某种Web服务器能理解的输出结果.
5、服务器接收来自脚本的输出并且把它传回浏览器,让用户了解结果。

一个简单的例子
这里详细一步一步地解释所有有关发生的细节。

Display Date处是个指向CGI脚本的连接. 它的HTML是这样的:

<A HREF="http://www.popchina.com/cgi-bin/getdate">Display the Date</A>说明是个CGI脚本是因为这里面有个cgi-bin的路径. 在许多服务器cgi-bin是仅能够放置CGI脚本 的目录.
当你选择这个连接时, 你的浏览器将向www.popchina.com服务器提出请求. 服务器接收这个请求计算出URL处的脚本文件名然后执行这个脚本.

这个getdate脚本, 在UNIX系统中执行是这样的:

#!/bin/sh


echo Content-type: text/plain


echo


/bin/date第一行是个特殊的命令,告诉UNIX系统这是个shell脚本; 真实的情况是从这行开始的下一行,这个脚本做两件事:它输出行Content-type: text/plain, 接着开始一个空行;第二, 它调用UNIX系统时间date程序, 这样输出日期和时间. 脚本执行后输出应该这样:
Content-type: text/plain


Tue Oct 25 16:15:57 EDT 1994这个Content-type是什么东东?它是个特殊的编码,Web服务器用来告诉浏览器输出这个文本是什么类型的. 这与HTML中Content-type含义是一样的

今天就先发到这里~~
leiyb 当前离线   回复时引用此帖
回复

书签


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 13:56


Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2024,Jelsoft Enterprises Ltd.