HTTP Accept-Encoding和发送未编码的数据

bea*_*mit 5 encoding http-headers

我构建了一个用于压缩HTTP输出的模块.阅读规范,我没有找到一些明确的区别:

Accept-Encoding:

是否应将其视为一个Accept-Encoding: *或好像没有标题?

或者,如果我不支持gzip,但我得到这样的标题:

Accept-Encoding: gzip

我应该返回406错误还是只返回未编码的数据?

编辑:

我已经阅读了几次规范.它提到了我的第一个案例,但没有定义服务器的行为应该是什么.

我应该像处理标题一样对待这种情况吗?或者我应该返回406错误,因为在给定字段值(''不是有效编码)的情况下无法对某些内容进行编码.

tim*_*hew 7

规范中包含了所有内容:14.3 Accept-Encoding:

Accept-Encoding字段中的特殊"*"符号与头字段中未明确列出的任何可用内容编码相匹配.

如果请求中存在Accept-Encoding字段,并且服务器无法根据Accept-Encoding标头发送可接受的响应,则服务器应该发送带有406(Not Acceptable)状态代码的错误响应.

编辑:

如果Accept-Encoding字段值为空,则只接受"identity"编码.

在这种情况下,如果"身份"是可用内容编码之一,则服务器应该使用"身份"内容编码,除非它具有不同内容编码对客户端有意义的附加信息.

什么是"身份"

identity
默认(标识)编码; 没有任何转变的使用.此内容编码仅在Accept-Encoding标头中使用,并且不应在Content-Encoding标头中使用.