CGI 环境变量如何传递给被调用的程序?

How CGI environment variables are passed to called programs?

很明显,我们有标准输入和粗壮的输入(http 请求 headers 和 body)和标准输出的响应。但是我找不到对用于通过 CGI 协议传递 'SCRIPT_NAME' 或 'PATH' 等值的机制的清晰解释。可能这是关于整个环境变量的更普遍的问题(起初看起来不同)。 从哪里获取 CGI 变量?

http 服务器进程生成一个 child 进程,该进程 运行 是您的 CGI 脚本。它将 http headers 作为环境变量传递给处理 child 进程。如果愿意,您可以在自己的 C++ 程序中做同样的事情。只需执行 CreateProcess(在 windows 下)并设置新 child 进程的环境。那就运行吧!