我在试着解决一个问题。http响应-标头:Transfer-Encoding: chunked
我们在spring-boot + embedded-tomcat中有一个。
SOAP响应得到一个Content-Length头,而没有Transfer-Encoding .我想这是正常的吗?
不幸的是,我们有一些遗留的客户端黑客,这似乎只适用于Transfer-Encoding: chunked,而不是Content-Length。
有没有办法让强迫服务器应用程序使用Transfer-Encoding: chunked进行响应?
究竟是什么决定了生成哪种响应格式?
它是可配置的吗?
发布于 2017-05-23 09:37:53
通过在响应中设置BufferSize。
response.setBufferSize()设置响应大小的内容长度标题。一旦响应大小超出了bufferSize,它就会退回到传输-编码:块。缓冲区大小应设置为适当的值。将其设置为更高的值将在刷新它之前缓冲内存中的所有响应。因此,应该将该值设置为乐观大小。
默认情况下,Tomcat缓冲区大小设置为8K。
其他选项:,您可以为您的服务添加响应筛选器,并在所需的设置头中添加响应筛选器。
发布于 2017-05-26 08:03:42
服务器应用程序将响应任何您希望它响应,这取决于请求http头。
如果请求http标头包含:
Accept-Encoding: chunked只有chunked,服务器应用程序将响应一个标题和内容Transfer-Encoding: chunked。
因此,如果不能发出正确的http请求来指示客户端功能,则可以添加反向代理,通过更改或添加Accept-Encoding: chunked头来修改请求。
https://stackoverflow.com/questions/44004250
复制相似问题