Hello!
2013/1/10 lu...@yougou.com
>
> 我在应用中进行压缩后输出的也是chunked,nginx好像也没有再次计算content-length。
>
> 不过后来和CDN厂商确认了,他们可以支持chunked,只是在http1.0下必须有Content-Length。
>
要计算 Content-Length 响应头就必须缓冲所有响应体数据,因为是先发送 Content-Length
响应头,然后再发送任何的响应体数据。这是一个鸡和蛋的问题。所以对于大响应来说,开销很大。
既然使用了 chunked 编码,就不应再设置 Content-Length 响应头了。
HTTP 1.0 协议是不支持 chunked 编码的,所以在没有 Content-Length 响应头时以连接断开作为响应体的末尾。
尽量使用 HTTP 1.1;毕竟现在连 nginx 的 proxy 模块也支持 HTTP 1.1 了。
Best regards,
-agentzh