这是我的问题:当使用XMLHttpRequest执行AJAX调用时,它不会将“Via”头添加到请求中。
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.poodle.com/", true);
...
xhr.setRequestHeader("Via", "Hello World");
...
xhr.send(null);以下是映射的信息:
(Request-Line) GET / HTTP/1.1
Host poodle.com:80
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0
Accept text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
Accept-Language null
Accept-Encoding gzip, deflate
Content-Type application/json
Referer http://www.poodle.com/
Cookie JSESSIONID=AB35C81E78FCE769187A8FD4611C3DD7
Connection keep-alive但是当我使用它的时候,它是有效的,但是我不能在一个真正的网页中使用它(只有Firefox插件)。
var xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest);知道为什么吗?
发布于 2014-05-01 02:44:44
W3C XHR spec明确禁止在JavaScript中设置Via标头
如果header与以下header之一匹配,且不区分大小写,则
终止这些步骤:
Accept-CharsetAccept-EncodingUpgradeUser-AgentVia注意:上面的头由用户代理控制,让它控制传输的这些方面。这在某种程度上保证了数据的完整性。
https://stackoverflow.com/questions/23354345
复制相似问题