【问题标题】:Forcing chunked encoding in Tomcat response在 Tomcat 响应中强制分块编码
【发布时间】:2012-08-20 23:56:12
【问题描述】:

我正在为客户将应用程序迁移到 Tomcat 6。在测试过程中,我们发现他们的一些客户希望响应 总是 被分块,即 Transfer-encoding: chunked。但是,Tomcat 并不总是使用分块编码,有时使用 Content-Length 来代替,我认为是因为响应大小足够小,以至于在发送标头时它知道整个长度。

我已经看到了大量关于如何禁用分块编码的问题/答案,但我遇到了相反的问题。我知道在每个响应中强制分块编码并不理想,并且客户端应该与 http1.1 规范完全兼容并接受任何一种编码,但我只是想知道是否我可以做任何简单的配置来启用所需的行为。

我只使用 Tomcat 和标准的 http 连接器。我查看了连接器属性并玩弄了 bufferSize 和 socketBuffer ,但没有运气。

我可以做些什么来强制分块响应?

【问题讨论】:

    标签: tomcat6 chunked-encoding


    【解决方案1】:

    以防万一其他人遇到这种情况,我找到了一个 hacky 解决方案。在写入任何内容之前,我会立即刷新输出流。这迫使 Tomcat 立即发送响应标头并使用分块编码。我知道这很糟糕,因为这意味着它会在我完成处理之前立即发送一个 200 状态代码,但这是我能找到强制分块编码的唯一方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 2017-05-30
      • 2013-09-28
      相关资源
      最近更新 更多