+ -
当前位置:首页 → 问答吧 → 请教CGI环境变量的问题

请教CGI环境变量的问题

时间:2011-08-04

来源:互联网

CGI里面可以通过环境变量取到请求者的IP,

我的疑问是:web svr收到一个HTTP请求之后,具体是从哪里拿到请求者IP的?

REMOTE_ADDR 这个环境变量的值 和 HTTP_VIA 这个值分别是怎么取到的。

求教!

作者: proudboy_linux   发布时间: 2011-08-04

CGI程序的工作原理是:客户端的Web浏览器浏览到某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求,服务器端的HTTP Daemon(守护进程)将描述的主页信息通过标准输入stdin和环境变量(environment variable)传递给主页指定的CGI程序,并启动此应用程序进行处理(包括对数据库的处理),处理结果通过标准输出stdout返回给HTTP Daemon守护进程,再由HTTP Daemon进程通过HTTP协议返回给客户端的浏览器,由浏览器负责解释执行,将最终的结果显示给用户。
  服务器使用环境变量(执行CGI程序时的设置)传输有关的请求信息到CGI程序,这些环境变量包括服务器的名字、CGI和服务器使用协议的版本号、客户端的IP地址和域名地址、客户端的请求方式、请求内容及编码方式、访问信息的合法性以及用户的输入信息等。

你可以看一下CGI的环境变量
取得数据用类似getenv("QUERY_STRING" )的方式!

作者: one_in_one   发布时间: 2011-08-05