我有一个 Tomcat 7,Spring 4.2 'RestController'
REST API 的实现,它似乎为返回 JSON 响应的少数 API 调用生成了 'ERR_INVALID_CHUNKED_ENCODING'
。
创建 ResponseEntity
的代码相同。但是对于少数 API 调用,"Content-Length"
设置正确,而其他调用 "Transfer-Encoding"
设置为 Chunked。
private CacheControl cacheControl = CacheControl.noStore().mustRevalidate();
protected <T> ResponseEntity<TNRestResponse<T>> createEntity(TNRestResponse<T> res) {
return ResponseEntity.ok().cacheControl(cacheControl).body(res);
}
奇怪的部分是创建 ERR_INVALID_CHUNKED_ENCODING
的同一 API 调用的响应似乎在另一个环境中工作正常。唯一的区别是在有问题的情况下,客户端和服务在同一台服务器上运行。
已经尝试过的解决方案是手动设置Content-Length
,这似乎会导致客户端文件过早结束。JSON 长度只有大约 468 个字符,但客户端只收到 409 个字符,即使服务器日志显示已发送完整响应并且连接已关闭。
我们对这个问题的解决方案感到迷茫,因为它是相同的代码在不同的环境中表现得很奇怪。我试图检查两个 tomcat 上 server.xml 中的压缩设置。但一切看起来都很好。
同时禁用了 IE 和 chrome 中的代理设置。
任何有用的输入或见解都会非常好?提前致谢。
最佳答案
请按照以下步骤操作:
1) Go to your OS's Control panel > internet options > Connections > LAN Settings or to your browser settings.
2) Deselect "Use Proxy" for your LAN or for your browser.
关于java - Tomcat 7,Spring rest 模板应用程序在浏览器中生成 err_invalid_chunked_encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49744379/