代码之家  ›  专栏  ›  技术社区  ›  The Unknown

使用Curl、Apache和mod_wsgi重用连接

  •  0
  • The Unknown  · 技术社区  · 17 年前

    我在Apache上部署了一个mod_wsgi应用程序,并且有一个使用Curl的客户端程序。

    在用户端的curlapi上,我尝试重用连接,但是查看wireshark的连接,我发现对于每个HTTP请求/响应,都会建立一个新的连接。

    在每个HTTP请求的末尾,HTTP响应头都有“Connection:Close”

    这和保持活力一样吗?在Apache/Mod_wsgi端,我需要做什么才能启用连接重用?

    1 回复  |  直到 17 年前
        1
  •  3
  •   Graham Dumpleton    17 年前

    您通常不需要对Apache执行任何操作,因为对保持活动连接的支持在默认情况下通常处于启用状态。查看Apache配置中的KeepAlive指令,了解它的设置。

    最重要的是,为了保持活动连接正常工作,WSGI应用程序必须在响应中设置内容长度,或者为响应返回列表,其中列表仅包含单个字符串。在后一种情况下,mod_wsgi将自动为响应添加内容长度。响应通常也需要是成功的响应,因为大多数错误响应都会导致连接关闭。

    请注意,如果通过代理访问Apache,代理可能无法实现keep alive,因此会停止整个机制的工作。