Content-Length为0的问题分析

在客户的服务器上,发现响应头上Content-Length为0,在其他的环境不能重现这个问题。

通过Fidder抓包发现:Transfer-Encoding: chunked,使用了分包传输,Content-Length为0了。

 

问题:是什么原因导致了Transfer-Encoding: chunked?

分析过程:通过请求头的X-Content-Encoding-Over-Network信息,我们找到对应的影响源头。

问题原因:客户的服务器安装了ESET Internet Security杀毒软件,启用了Web 访问服务。ESET Antivirus 会解压缩请求流。

在此过程中,它会删除内容编码标头,将 X-Content-Encoding-Over-Network 与原始响应的值一起添加。并设置为分块传输:Transfer-Encoding:chunked导致Content-Length为O。

解决方案:兼容Transfer-Encoding: chunked

 

posted @ 2022-06-07 17:19  虎头  阅读(4309)  评论(0编辑  收藏  举报