CGI原理

原创 2016年06月02日 10:31:25

CGI简介

CGI全称是“通用网关接口”(Common Gateway Interface),它可以让一个客户端,从网页浏览器向执行在Web服务器上的程序请求数据。CGI描述了客户端和这个程序之间传输数据的一种标准。CGI的一个目的是要独立于任何语言的,所以CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。

CGI运行原理

  1. 客户端访问某个 URL 地址之后,通过 GET/POST/PUT 等方式提交数据,并通过 HTTP 协议向 Web 服务器发出请求。
  2. 服务器端的 HTTP Daemon(守护进程)启动一个子进程。然后在子进程中,将 HTTP 请求里描述的信息通过标准输入 stdin 和环境变量传递给 URL 指定的 CGI 程序,并启动此应用程序进行处理,处理结果通过标准输出 stdout 返回给 HTTP Daemon 子进程。
  3. 再由 HTTP Daemon 子进程通过 HTTP 协议返回给客户端。
  4. 上面的这段话理解可能还是比较抽象,下面我们就通过一次 GET 请求为例进行详细说明。
  5. 如图所示,本次请求的流程如下:

    1. 客户端访问 http://127.0.0.1:9003/cgi-bin/user?id=1
    2. 127.0.0.1 上监听 9003 端口的守护进程接受到该请求
    3. 通过解析 HTTP 头信息,得知是 GET 请求,并且请求的是 /cgi-bin/ 目录下的 user 文件。
    4. 将 uri 里的 id=1 通过存入 QUERY_STRING 环境变量。
    5. Web 守护进程 fork 一个子进程,然后在子进程中执行 user 程序,通过环境变量获取到id
    6. 执行完毕之后,将结果通过标准输出返回到子进程。
    7. 子进程将结果返回给客户端。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Nginx学习笔记3—FastCGI与CGI解释器的区别,及其工作原理

一、FastCGI是什么:是一个可伸缩、高速的在web server和脚本语言间通迅的接口  CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php...

Nginx学习笔记3—FastCGI与CGI解释器的区别,及其工作原理

一、FastCGI是什么:是一个可伸缩、高速的在web server和脚本语言间通迅的接口   CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如p...

CGI的作用和原理

===========>>>>>摘抄自:http://blog.chinaunix.net/uid-9688646-id-3084940.html CGI代表Common Gateway Inter...

FASTCGI与CGI解释器的区别,及其工作原理

http://www.cnphp6.com/archives/14919  一、FastCGI是什么: 是一个可伸缩、高速的在web server和脚本语言间通迅的接口 CGI工作原理:每当...

CGI的基本原理

一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给...

nginx、cgi通信原理

nginx+fastcgi+php-fpm是很多大型网站的服务端架构,也都知道fastcgi在性能上比CGI优异很多,但很少有人解释nginx是怎么跟fastcgi通信的,下面我们来解释下 网上对C...
  • clh604
  • clh604
  • 2014-02-28 11:56
  • 5571

CGI技术原理

一、CGI技术 1.1 CGI的提出   CGI是外部扩展应用程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展应用程序可以处理客户端(一般是WWW浏览器)输入的协同工作数...

CGI接口原理及实现(转载)

CGI接口原理及实现   CGI接口原理及实现(2012-12-7 Over)      1.CGI定义:   CGI(CommonGateway Interface)是HTTP服务器与...

CGI原理

服务端将标准输出关闭并理解调用dup复制该文件描述符到socket上,则客户端收到的是服务端的标准输出流 服务端程序: #include #include #include #include #inc...

nginx、cgi通信原理

nginx+fastcgi+PHP-fpm是很多大型网站的服务端架构,也都知道fastcgi在性能上比CGI优异很多,但很少有人解释nginx是怎么跟fastcgi通信的,下面我们来解释下 网上...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)