1.概述
Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型的。
2.服务器处理accept-encoding的规则如下所示
(1)如果服务器可以返回定义在Accept-Encoding 中的任何一种Encoding类型, 那么处理
成功(除非q的值等于0, 等于0代表不可接受)
(2)* 代表任意一种Encoding类型 (除了在Accept-Encoding中显示定义的类型)
(3)如果有多个Encoding同时匹配, 按照q值顺序排列
(4)identity总是可被接受的encoding类型(除非显示的标记这个类型q=0),
如果Accept-Encoding的值是空 那么只有identity是会被接受的类型
如果Accept-Encoding中的所有类型服务器都没发返回, 那么应该返回406错误给客户端
如果request中没有Accept-Encoding 那么服务器会假设所有的Encoding都是可以被接受的,
如果Accept-Encoding中有identity 那么应该优先返回identity (除非有q值的定义,或者你
认为另外一种类型是更有意义的)
注意:
如果服务器不支持identity 并且浏览器没有发送Accept-Encoding,那么服务器应该倾向于
使用HTTP1.0中的 "gzip" and "compress" , 服务器可能按照客户端类型 发送更适合的encoding类型
大部分HTTP1.0的客户端无法处理q值.并且有的服务器无论是否传递了Accept-En