我创建了一个HTTP端点(Java中的REST,Spring Framework,Apache Tomcat),其中HTTP响应的标题为“Transfer-Encoding:chunked”。我不知道它是由servlet还是服务器创建的。
我不希望端点响应该标头。 是否可以强制它以便不发送标题?
答案 0 :(得分:9)
这可能是因为响应大于响应缓冲区而创建的,因此在响应完成之前强制运行时刷新。由于标头必须在响应之前发送且Content-Length
标头未知,因此它会设置Transfer-Encoding: chunked
。
您可以为Tomcat连接器设置输出缓冲区大小:see here,标准属性socketBuffer
和NIO socket.appWriteBufSize
。这设置了整个servlet容器的缓冲区大小,可能不是你想要的。
您可以使用servlet过滤器拦截需要更大缓冲区的特定URL,并使用response.setBufferSize(NNN)
。