为什么XMLHttpRequest规范会阻止设置Accept-Encoding标头?

时间:2014-03-12 19:41:43

标签: ajax http-headers xmlhttprequest w3c http-accept-encoding

今天,我想利用Accept-Encoding标头来请求图像为base64。来发现,XMLHttpRequest规范阻止设置该标题!

http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method

  

注意:上述标题由用户代理控制,以便控制传输的这些方面。这在一定程度上保证了数据完整性。不允许将以Sec-开头的标题名称设置为允许创建新的标题,这些标题保证不会来自XMLHttpRequest。

为什么世界上他们会写这样的规格?如果浏览器只是提供了默认值(例如。gzip,deflate,sdch),如果没有指定则更有意义。

2 个答案:

答案 0 :(得分:2)

浏览器负责接受和处理响应。操纵你的XHR说它接受gzip是没有多大意义的,例如,当你无法对它做任何事情时。你能设置一个自定义标题值吗?

答案 1 :(得分:0)

  

为什么世界上他们会写这样的规格?

总之:懒惰

为什么要添加额外的语义来描述每个可能的标题的安全可预测的浏览器行为,这些标题只能由像我们这样的少数人使用,当他们只能声明一个段落中禁止的所有标题时。