HTTP 头部与 Web 架构特性解析
1. HTTP 头部详解
1.1 Transfer-Encoding
Transfer-Encoding 与 Content-Encoding 目的相同,都是对实体主体进行临时转换(通常是压缩),并在另一端透明地还原。不同之处在于,使用 Transfer-Encoding 时,“另一端”可能离服务器更近。
假设一个 HTTP 客户端通过代理与服务器通信。对于 Content-Encoding 而言,通信的两端是服务器和客户端;但对于 Transfer-Encoding 而言,存在两个通信过程:一个是客户端与代理之间,另一个是代理与服务器之间。
若服务器压缩实体主体并设置 Content-Encoding: gzip,代理可能会保持实体主体不变,将压缩后的内容传递给客户端。但如果服务器设置 Transfer-Encoding: gzip,代理的任务就是解压缩实体主体,并将未压缩的内容传递给客户端。
该头部的值被称为“传输编码”,IANA 在 http://www.iana.org/assignments/http-parameters/http-parameters.xml 维护了一个可接受的传输编码注册表。大多数传输编码指的是压缩算法,也可作为 Content-Encoding 的值,但有一个值是 Transfer-Encoding 独有的:chunked。
有时服务器需要在不知道实
超级会员免费看
订阅专栏 解锁全文
1882

被折叠的 条评论
为什么被折叠?



