首页资讯商务会员钢材特钢不锈炉料铁矿废钢煤焦铁合金有色化工水泥财经指数人才会展钢厂海外研究统计数据手机期货论坛百科搜索导航短信English
登录 注册

按字母顺序浏览 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

热门关键字: 螺纹钢 铁矿石 电炉 炼钢 合金钢 转炉 结构钢
钢铁百科 - 钢之家

CGI发表评论(0)编辑词条

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

目录

[显示全部]

基本简介编辑本段回目录

CGI
CGI
CGI脚本简单地讲是个运行在Web服务器上的程序,有浏览器的输入触发。这个脚本通常象服务器和系统中其他程序如数据库的桥梁

CGI脚本难道不是一个真正的脚本,按照服务器的支持,可能是一个编译好的程序或者批命令文件或者其他可执行的东西。为了简单起见,统称为脚本scripts。

CGI脚本是任何运行在web服务器上的程序。CGI脚本是用下列两种方法使用的:作为一个表单的ACTION或作为一个页中的直接link。CGI脚本有服务器调用,基于浏览器的数据输入。

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

配置条件编辑本段回目录

CGI
CGI
在使用CGI脚本之前,有两件事也许要解决:CGI脚本是个高级的Web特性并且需要你和Web服务器管理者一样好的知识。

为了能写和运行CGI脚本,你需要一个Web服务器。不象通常的HTML文件,你不能在本地系统上写或试验CGI脚本;通过Web服务器来做这个。但是即使你有一个Web服务器,这个服务器必须特别地为运行CGI脚本配置一下。那意味着你所有的脚本必须放置在一个叫做cgi-bin的目录下。

在编写CGI脚本之前,询问服务器管理者是否允许你安装和运行CGI脚本,并且如果可以的话,他们必须放置在哪儿。还有,必须有个真正的Web服务器,如果是FTP或Gopher服务器,那就不能用CGI。

如果在自己的服务器上运行,你必须特别地创造一个叫cgi-bin的目录,并配置服务器认可这个目录为一个脚本目录。也必须记住下面有关CGI脚本特点:

1、每个脚本是个程序,它运行在浏览器可以请求的系统上,执行时使用CPU时间和内存。如果有成打上千的这些脚本同时运行,系统将不忍负载直至崩溃。
2、如果你不仔细地编写CGI脚本,你将有可能让别人通过CGI脚本参数进入伤害系统。

你可以用你熟悉的任何语言编写CGI脚本,只要脚本遵守下一节所陈列的规则即可,只要那个语言能在Web服务器系统上运行。

在这本学习手册中,仅用两种语言编写CGI脚本:UNIXshell和Perl语言。这个shell是适合在任何相近的UNIX系统上运行并且容易学习,但是处理复杂的情况就困难了。Perl,就要用这个语言了,它是免费的,这个语言是稳定和强大的,类似C,但它也是较难学习的。

为了运行任何一个CGI脚本,不管简单或复杂的,服务器必须设置成能够运行他们,必须放置在一个特定的目录,必须有一个依赖你服务器设定的文件扩展名。如果你是租用服务器,就要是否允许运行CGI脚本。如果你拥有自己的服务器,检查服务器说明书是怎样处理CGI脚本的。

输出头部编辑本段回目录

CGI
CGI
虽然CGI脚本可以让你做任何事情,但是脚本的输出还是必须有一个规定形式。这个“脚本输出”意思是指脚本发回服务器的数据。在UNIX系统中,输出是发向标准输出,服务器从那儿检测它。在其他系统和服务器,脚本输出也许不一样了。这个头部是实际不是文本的一部分,是服务器与浏览器之间的信息协议,你实际看不到。

有三个类型的头部:Content-type,Location,和Status。Content-type最普遍的。

有关content-type解释可以见有关HTML的说明,一个你可以发出的特定编码象这样:

Content-type:text/html 输出数据的类型是text/html;换句话说,他是个HTML文件。

通用格式和content-types。

 

输出数据编辑本段回目录

输出的数据应该符合你所规定的content-type;如果content-type是text/html,输出安置应该是在HTML。如果content-type是image/gif,输出应该是在一个二进制的GIF文件。

为了传递一个参数给脚本,可以在URL中使用插入脚本名词和参数之间,用加号(+)表示每个单一的参数,如:
runmyscript
当服务器接收到这个请求,它传递arg1,arg2,和arg3参数给脚本。你然后能在脚本中使用这些参数。

这个方法有时叫查询,因为早期它用在搜索功能中。

登陆检查编辑本段回目录

CGI
CGI
既然你知道怎样使用参数,继续上面的例子pinglaura,通过修改这个例子得到下面这个脚本pinggeneric。

#!/bin/sh

echo"Content-type:text/html"
echo
echo""
echo"AreYouThere?"
echo""
在上面的例子中,下一步应该是测试是否登陆,在这里用参数${1}代替名字lemay,${1}作为第一个参数,${2}作为第二个,${3}作为第三个。
ison='who|grep"${1}"'

剩下的所有修改如下:

if[!-z"$ison"];then
echo"$1isloggedin"
else
echo"$1isn'tloggedin"
fi
echo""
修改HTML页中的连接:
IsLauraLoggedin
修改为通用查询功能后是这样,比如查询名字叫john的人是否登陆。

脚本输出编辑本段回目录

CGI
CGI
有第二种方法传递信息给CGI脚本。它叫作路径信息path information用作那些在脚本调用是不用变更的参数,象一个临时文件名或调用脚本自己的文件名。正如你看到的,在上面的例子问号后面的参数是因用户表单的输入而改变的。路径信息Pathinfo用作其他信息传递给脚本,实际上,你可以用它作任何事情。

路径信息Pathinformation是一种不象通常参数脚本那样频繁传递信息的方法。路径Pathinformation通常是指Web服务器上的那些比如配置文件、临时文件或者被脚本因问题调用的文件等等此类文件。

看下面一个路径信息pathinformation例子,

当脚本运行时,在路径中的信息将被放置于环境参数PATH_INFO。你能在脚本内容中使用这些信息。假设在多页上已有多个连接到同一个脚本。能用这个路径信息显示那个有连接的HTML文件名。这样,在完成处理脚本之后,当你发回一个HTML文件时,能在这个文件里包含一个连接,发回用户一开始那个页。

程序语言编辑本段回目录

CGI
CGI
既然CGI是一种程序,自然需要用编程语言来写。你可以用任何一种熟悉的高级语言,C,C++,Cshell和VB。值得特别指出的,有一种叫Perl的语言。其前身是属于Unix专用的高级语言,其具有强大的字符串处理能力而成为现在写CGI,特别是表单类程序的首选。最近它已经有了Window95,和winnt版本。

可以在搜索程序里找到在那里下载它。VB是Ms的杀手锏,从目前的情况看,微软公司正试图使VB无所不能,自然也包括在Internet。请各位注意,VB开发的程序只能在windows平台上被执行,所以它有一定局限。CShell,经典的语言。可惜能做的事情不多,而且必须在Unix平台下。C,C++,真正的无所不能。可是在写CGI的时候显得非常难以掌握。特别是缺乏可以灵活使用的字符串处理函数。对程序员的要求也比较高,维护复杂。

CGI可以提供许多HTML无法做到的功能。比如:a.一个记数器b.顾客信息表格的提交以及统计c.搜索程序d.WEB数据库。用Html是没有办法记住客户的任何信息的,就算用户愿意让你知道。用Html也是无法把信息记录到某一个特定文件里的。要把客户段的信息记录在服务器的硬盘上,就要用到CGI。这是CGI最重要的作用,它补充了Html的不足。是的,仅仅是补充,不是替代。

相关词条编辑本段回目录

参考资料编辑本段回目录

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: CGI

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

您希望联系哪位客服?(单击选择)