您的位置:首页 > 理论基础 > 计算机网络

http服务器与cgi交互过程

2016-05-24 11:53 337 查看
      在处理cgi GET 表单时,服务器发送给cgi程序是通过环境变量发送的,并且GET的表单内容存放在QUERY_STRING中,因此,在服务器与cgi程序通信之前,会先把GET表单进行解析,并建立环境变量。 同时,由于cgi程序是通过标准输出向服务器输出数据,因此在通信之前,还需要建立一条服务器与cgi程序之间的通信管道,重定向cgi程序的标准输出到服务器的管道读端口。如下图所示:



            在处理cgi POST表单时,服务器通过环境变量发送POST表单的长度,服务器向cgi程序输入数据除了采用环境爱变量外,还把POST的表单内容通过写管道输入到cgi的标准输入,同时cgi程序输出数据时是通过标准输出发送到服务器。 因此,在服务器向cgi程序传送数据的时候,还需要建立两个管道,并分别把cgi程序的标准输入与输出进行重定向。即,在第一条管道中,服务器往管道写端写数据,管道的另一端读端重定向到cgi程序的标准输入,cgi程序通过标准输入读数据。

     在第二条管道中,把管道的写端重定向到cgi程序的标准输出,cgi程序通过标准输出向服务器发送数据,服务器通过管道的读端读取cgi发送过来的数据。如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: