如何强制Tomcat服务器在http响应中发送Keep-alive标头

Wei*_*Wei 7 tomcat http response

我们有一个在tomcat 7服务器上运行的应用程序,并且我们希望发送回客户端的http响应中包含keep-alive标头。有没有办法更改某些配置(例如server.xml)以实现此目的?非常感谢!

Zho*_*gYu 6

在HTTP / 1.1中,除非另外指定(通过“ Connection:close”标头),否则假定连接为保持活动状态。因此,通常无需显式设置keep-alive标头。

当然,您总是可以添加一个servlet过滤器来设置所需的任何标头。

  • 我想要的是在 Http 响应中发送标头“Keep-Alive: timeout=120”,以便客户端知道连接将在 120 秒后断开。有没有办法强制 Tomcat 发送这个标头? (2认同)
  • 您始终可以在代码中执行 `response.setHeader("Keep-Alive", " timeout=120")` 。要确保对所有响应都完成此操作,请在 servlet 过滤器中执行此操作。 (2认同)
  • 是的,我们可以做到。但是,有没有一种方法可以强制Tomcat在不进行编码的情况下发送标头?原因是,如果我们在过滤器中以编程方式设置标头,则必须手动将代码与server.xml中的T​​omcat设置同步。 (2认同)
  • 大多数 Http Client 都会优化,例如 Apache HttpClient 会查看此超时并正确回收 Keep Alive 连接。无法相信 tomcat 没有办法支持 server.xml 而不必通过添加响应头来复制代码中的工作。保持活动:超时=2,最大值=100 (2认同)