当前位置:频道 > 正文

cgi在外部应用程序是什么?cgi有什么用?

2023-02-02 14:12:21  来源:汇世网

CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI 是外部应用程序(CGI 程序)与 WEB 服务器之间的接口标准,是在 CGI 程序和 Web 服务器之间传递信息的过程。CGI 规范允许 Web 服务器执行外部程序,并将它们的输出发送给 Web 浏览器,CGI 将 Web 的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。CGI 是 Web 服务器运行时外部程序的规范,按 CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库 API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为 HTML 文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持 CGI,可用任何语言编写 CGI,包括流行的 C、C ++、VB 和 Delphi 等。CGI 分为标准 CGI 和间接 CGI 两种。标准 CGI 使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接 CGI 又称缓冲 CGI,在 CGI 程序和 CGI 接口之间插入一个缓冲程序,缓冲程序与 CGI 接口间用标准输入输出进行通信。

编程语言:

CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。对初学者来说,最好选用易于归档和能有效表示大量数据结构的语言,例如UNIX环境中:

· Perl (Practical Extraction and Report Language)

· Bourne Shell或者Tcl (Tool Command Language)

· PHP(Hypertext Preprocessor))

由于C语言有较强的平台无关性,所以也是编写CGI程序的首选。

Windows环境中:

· C和C++

由于Internet上大部分服务器使用的是UNIX操作系统,且几乎任一UNIX操作系统中都有Bourne Shell,因而大部分实现脚本都是用Bourne Shell编写的。

最终Perl由于其跨操作系统、易于修改的特性成为了CGI的主流编写语言,以至于一般的“cgi程序”就是Perl程序。

各种术语释疑

说实话,对于一个没接触过编程语言的人来说,刚接触cgi概念的时候肯定会有一堆疑问,这到底是什么鬼,处理动态内容的东西不是像php一样的应用程序吗,跟cgi有几毛钱关系,fastcgi又是什么?我想,非科班出身的强迫症患者(包括我)一定会被这些概念折腾的死去活来。

以php为例,我将一次动态请求相关的概念大致都简单解释一遍。

cgi:它是一种协议。通过cgi协议,web server可以将动态请求和相关参数发送给专门处理动态内容的应用程序。

fastcgi:也是一种协议,只不过是cgi的优化版。cgi的性能较烂,fastcgi则在其基础上进行了改进。

php-cgi:fastcgi是一种协议,而php-cgi实现了这种协议。不过这种实现比较烂。它是单进程的,一个进程处理一个请求,处理结束后进程就销毁。

php-fmp:是对php-cgi的改进版,它直接管理多个php-cgi进程/线程。也就是说,php-fpm是php-cgi的进程管理器因此它也算是fastcgi协议的实现。在一定程度上讲,php-fpm与php的关系,和tomcat对java的关系是类似的。

cgi进程/线程:在php上,就是php-cgi进程/线程。专门用于接收web server的动态请求,调用并初始化zend虚拟机。

cgi脚本:被执行的php源代码文件。

zend虚拟机:对php文件做词法分析、语法分析、编译成opcode,并执行。最后关闭zend虚拟机。

cgi进程/线程和zend虚拟机的关系:cgi进程调用并初始化zend虚拟机的各种环境。

关键词: cgi是什么啊 cgi是什么专业术语 cgi在外部应用程序是什么 cgi有什么用

推荐阅读

菜籽出油率多少?菜籽出油率高不高?

菜籽出油率多少?很多国家都有菜籽,成片的菜籽,美国农场主也不例外。一般来说,榨菜籽的出油率约为32%-36%。有些地区正常达到38%左右,主 【详细】

蓝太阳什么时候出现过 蓝太阳是怎么形成的?

平常晴天的时候都是可以看见太阳的,不过我们也知道平时看到的太阳是黄色的发光发亮的球体,不过今日北京出现蓝太阳,蓝太阳是什么意思?蓝 【详细】

低碳环保节能产业是什么概念 为什么环保受到大家的重视?

低碳环保节能产业,是什么概念,怎么理解?节能环保产业是指为节约能源资源、发展循环经济和保护生态环境提供物质基础和技术支持的产业,是 【详细】

dwg文件是什么 dwg文件用什么打开?

相信很多人都不知道dwg文件用什么打开?,接下来小编就带大家介绍一些方法,大家可以了解一下。一、看图纸参见图纸DwgSeePlus是一个dwg文件 【详细】

工业革命是什么 工业革命的影响有哪些?

工业革命的影响有哪些?三次工业革命分别是什么时间?影响1、工业革命引起了生产组织形式的变化,用机器工厂制代替手工作坊。影响2 工业革命 【详细】

相关新闻

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有