请求标头的值(例如Accept-Language
,Accept-Encoding
等)具有隐式或显式加权值(例如en; q=0.8
)。如果加权的HTTP头具有重复值,权重不同,应如何处理?
在不太可能发生完整字段值收率暧昧信息,具体地,如果歧义可以解释为任一不能接受的(q=0
)或可接受的,因为一些非零质量值,例如分析得到的值:
Accept-Encoding: gzip; q=0.8, gzip; q=0
应此被解释为:
- 不能接受;
- 可接受;
- 标题无效;
或其他一些选择,也许?
在RFC 7231,对质量的一般section 5.3.1值
重被归一化为范围从0到1,其中 0.001是最优选的,而1是最优选的实数; 0表示“不可接受”。如果没有 “Q” 参数存在, 默认权重为1
和Accept-Encoding
特异性section 5.3.4,第3和第4
如果该表示的内容编码是Accept-Encoding字段中列出的 内容编码之一,那么它是 可接受的,除非其伴随有q值为q的值(如在第5.3.1节中定义的 ,q值为0意味着“不可接受”。)
如果多个内容编码是可接受的,则可接受的具有最高非零q值的内容编码是优选的。
说清楚q=0
的意思是“不能接受的”,并且最高非零qvalue是首选,但他们似乎并没有讨论任何可能的不确定性;可能是因为这是不太可能的事件。