如何删除Transfer-Encoding:在HTTP响应中分块

时间:2013-09-23 13:23:14

标签: http rest servlets chunked transfer-encoding

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

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

1 个答案:

答案 0 :(得分:9)

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

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

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