http - 用于处理持久 HTTP 连接上的多个请求的 CGI

标签 http cgi apache

CGI 程序通常会收到一个 HTTP 请求。

HTTP 1.1 支持持久的 HTTP 连接,从而在不关闭连接的情况下发出多个 HTTP 请求/响应。

有没有办法让 CGI 程序(或类似机制)在同一连接上处理多个 HTTP 请求/响应?

我正在使用 Apache httpd。

最佳答案

Keep-alives 是高级 HTTP 功能之一,完全由 Web 服务器处理。它们超出了 CGI 应用程序本身的范围。

通过 Apache mod_cgi 访问 CGI 脚本对我来说适用于 keep-alive。浏览器重新使用相同的 TCP 连接来获取页面,然后获取页面引用的资源,而相关脚本无需执行任何特殊操作。

如果您的意思是您想让相同的 CGI 进程 处理一个请求然后处理下一个请求(而不是进程结束并产生一个新的进程),那么恐怕不是这样可能的。 Web 服务器将拦截 keep-alives 并使它们看起来像单个请求,然后您的脚本才能对其执行任何操作。 (如果您想这样做以提高性能,请考虑使用不同的网关接口(interface),例如 FastCGI 或特定于语言的选项,例如 WSGI。)

关于http - 用于处理持久 HTTP 连接上的多个请求的 CGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408732/

相关文章:

cocoa-touch - cocoa touch : How to detect a missing file on the download server

typescript - 类型 'Promise<any>' 缺少以下属性

c++ - 嵌入式设备上的 C/C++ CGI、POST、GET、LOGIN?

javascript - Magento 中合并 CSS/JS 文件的 Gzip

python - 使用自定义状态代码在 Python Bottle 中发送字典作为响应

http - 我如何通过 Guile Scheme 检查 URL 是否存在?

python - 打印带间距的文本金字塔

html - 执行从 HTTP 调用的 BASH Linux 脚本

php - MAMP Pro - Apache 无法启动

regex - htaccess 没有按我的预期工作