Transfer-Encoding:chunked简介
通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是HTTP/1.1 RFC里定义的一种编码方式。
chunked编码的基本方法是将大块数据分解成多块小数据,每块都可以自指定长度。Transfer-Encoding:chunked能更快的让页面呈现出来,因为它能分段下载,浏览器分段解析,例如facebook利用这个特性实现的big pipe。
在Http 1.0及之前版本中,content-length字段可有可无。在http1.1及之后版本。如果是keep alive,则content-length和chunk必然是二选一。若是非keep alive,则和http1.0一样,content-length可有可无。注:Http1.1之前的不支持keep alive。
nginx配置关闭chunked模式
在nginx 0.7.66版本之后,有一个配置项chunked_transfer_encoding可以开启或者关闭chunk模式,默认是开启的。
chunked_transfer_encoding on | off;
例如:chunked_transfer_encoding off;
作用域: http, server, location
Pingback引用通告: test11111 – 源码巴士