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

Car*_* AG 3 rest servlets http chunked transfer-encoding

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

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

Nik*_*los 10

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

您可以为Tomcat连接器设置输出缓冲区大小:请参阅此处,socketBuffer标准属性和socket.appWriteBufSizeNIO.这设置了整个servlet容器的缓冲区大小,可能不是你想要的.

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