选择显示字体大小

cgi教程(1)简介

cgi简介

下面继续介绍cgi

cgi是一个连接外部应用程序到信息服务器(比如http或者网络服务器)的标准。一个简单的html文档是无交互后台程序,它是静态的,也就是说它处于一个不可变的状态,即文本文件不可以变化。 相反地,cgi程序是可以实时执行地,它可以输出动态的信息。

举个例子吧,如果你想把unix数据库”挂到”万维网上,并允许世界各地的人可以访问它。基本上,就就需要创建一个cgi程序,它的执行将传递信息给数据库引擎,并且把解雇返回给用户显示出来。这是一个网关的例子。

数据库例子是一个简单的思想,在实际应用过程中更为复杂。实际上没有什么不能挂到网络上面的。但是只有一件事情你必须记住:不管你的cgi程序是怎样,一定不能花太多的时间来处理。否则,用户就做在奔腾机前面静静地等着浏览器的显示结果,这势必伤透了”奔腾的心”。

下面讲讲cgi的特殊要求:

既然cgi程序是可执行的,那基本上就等价于世界任何地方的人可以在你的系统中运行cgi程序,所以这是一种不安全的事情。因此在使用cgi程序的时候,需要一些安全的预防措施。可能,一种有效的方法是将cgi程序放置在一个特殊的目录中,这样网络服务器件只是执行cgi程序而不是将它显示到浏览器中。这个特殊的目录通常处在网络管理员直接控制的目录,这样就可以阻止普通用户创建cgi程序。仍然有其它几种方法可以允许用户访问cgi脚本,但是这需要网络管理员为他进行一些设置。在这一点上,你可能有与网络管理员联系以获得访问cgi权限的冲动。

如果你有一个ncsa httpd服务器分布的版本,你将看到一个目录/cgi-bin。这个目录就是上面所提的特殊目录,它就是放置cgi程序的地方。cgi程序可以用任何的语言来编写,并且可以在以下的系统中执行:

c/c++

fortran

perl

tcl

任何的unix shell

visual basic

applescript

采取什么的语言依靠你的系统支持什么语言而定的。如果你使用过一个编程语言如c或者fortran,你就会知道在运行程序之前必须对程序进行编译。如果你进入这个目录,你就会发现一些cgi程序的源代码。但是如果你使用其中一种脚本语言,比如perl、tcl或者unix shell,脚本就只需要放置在/cgi-bin目录中,因为没有相关的源代码。许多设计人员喜欢使用cgi脚本而不使用编程语言,因为脚本比需要编译的程序语言更容易调试、修改和维护。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons