<p> *找了很久才找到相关的介绍STDIN,STDOUT在Web中的运用,记住加黑的部分,能解释很多东西…(任何一个被系统激活的进程都拥有标准输入和输出这两个文件句柄)  </p>

利用通用网关接口CGI,WEB服务器可以执行一些外部程序,可以将这些外部程序所产生的输出结果和WEB服务器所管理的静态文本、图象和声音融合在一起传给相应的WEB浏览器。当客户方的浏览器向WEB服务器请求一个HTML文件时,服务器在收到请求后就去寻找这个文件并将找到的文件传送给客户方。而当客户方的请求是一个CGI程序时,WEB服务器将激活客户方所请求的CGI程序并把程序的执行结果传给客户方。

标准的CGI程序是通过环境变量和标准输入输出和WEB服务器交换信息的。任何一个被系统激活的进程都拥有标准输入和输出这两个文件句柄,CGI程序的进程也不例外。不过当CGI程序被WEB服务器激活以后,它的标准输入STDIN被连接到WEB服务器的标准输出STDOUT上,而CGI程序的标准输出STDOUT则被连到服务器的标准输入STDIN上。因此CGI程序从标准输入读取信息也就是从WEB服务器的标准输出读信息,而它向标准输出写信息也就是向WEB服务器的标准输入写信息。  

WEB服务器一般将客户方传送来的信息放在它的标准输出和相关环境变量中,而CGI程序则从环境变量和它的标准输入(也就是WEB服务器的标准输出)获取所需的信息,程序的最终输出结果则被写向它的标准输出STDOUT(也就是WEB服务器的标准输入)。WEB服务器将从它的标准输入STDIN(也就是CGI程序的标准输出)获取CGI程序的输出结果并将它传送给客户方。客户方、WEB服务器和CGI程序之间的信息交流如图1所示,显然,WEB服务器就象是客户方和CGI程序间的中介人。

转载请注明:韦旭红的点点滴滴 » 关于标准输入,输出在Web中的运用