【问题标题】:How to remove Transfer-Encoding: chunked in the HTTP response如何删除传输编码:在 HTTP 响应中分块
【发布时间】:2013-09-28 10:00:17
【问题描述】:

我创建了一个 HTTP 端点(Java 中的 REST、Spring Framework、Apache Tomcat),其中 HTTP 响应的标题为“Transfer-Encoding: chunked”。不知道是servlet还是服务器创建的。

我不希望端点响应该标头。 是否可以强制它不发送该标头?

【问题讨论】:

    标签: http rest servlets chunked transfer-encoding


    【解决方案1】:

    这可能是因为响应大于响应缓冲区而创建的,因此在响应完成之前运行时被强制刷新。由于 headers 必须在响应之前发送,并且Content-Length header 是未知的,所以它设置了Transfer-Encoding: chunked

    您可以为 Tomcat 连接器设置输出缓冲区大小:see here,属性socketBuffer 用于标准,socket.appWriteBufSize 用于 NIO。这设置了整个 servlet 容器的缓冲区大小,可能不是您想要的。

    您可以使用 servlet 过滤器拦截需要更大缓冲区的特定 URL,并使用 response.setBufferSize(NNN)

    【讨论】:

      猜你喜欢
      • 2013-05-08
      • 2013-05-03
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 2016-06-11
      • 2013-08-13
      • 2017-06-30
      • 2012-07-22
      相关资源
      最近更新 更多