CGI
最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态HTML。随着对网站的需求日益复杂,一些语言开始能写出动态网站,但是服务器本身并不能直接解析这些文件,服务器自己不能做,只能交给第三方处理,但是要提前与第三方做好约定,我给你什么,然后你给我什么,就是我把请求参数发送给你,然后我接收你的处理结果,再返回给客户端。那这个约定就是 Common Gateway Interface,简称CGI。这个协议可以用PHP、Python、C/C++来实现。如PHP-CGI,就是对CGI协议的实现。
服务器与CGI程序的交互步骤:
WEB服务器将根据CGI程序的类型决定数据向CGI程序的传送方式,一般来讲是通过标准输入/标准输出流和环境变量来与CGI程序间进行数据的传递。 如下图所示:
CGI程序通过标准输入(STDIN)和标准输出(STDOUT)来进行输入输出数据。此外 CGI程序还通过环境变量来得到输入,操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以读取它们