【发布时间】:2013-04-05 23:34:15
【问题描述】:
当我们需要调用 Ajax 请求时:
if(typeof XMLHttpRequest !== 'undefined') xhr = new XMLHttpRequest();
else
{
var versions = ["Microsoft.XmlHttp",
"MSXML2.XmlHttp",
"MSXML2.XmlHttp.3.0",
"MSXML2.XmlHttp.4.0",
"MSXML2.XmlHttp.5.0"
];
我已经知道使用XMLHttpRequest-2,我们可以进行跨域请求AND添加ORIGIN标头。
问题:
-
什么时候添加了这个标题?
- 是否在浏览器(支持 CORS)执行请求时添加? (跨域还是非跨域?)
- 还是在浏览器“看到”请求目标来源与当前来源不同时自动添加...
我的意思是:He** 是什么意思?
跨域 HTTP 请求有一个 Origin 标头。这个标题 向服务器提供请求的来源。这个标题是 受浏览器保护,不能从应用程序代码中更改。 本质上,它是找到的原始属性的网络等价物 关于跨文档消息传递中使用的消息事件。原始标头 与较旧的referer [sic] 标头的不同之处在于,referer 是一个 完整的 URL,包括路径。因为路径可能包含 敏感信息,浏览器有时不会发送引用 试图保护用户隐私。 但是,浏览器将始终 必要时发送所需的 Origin 标头。
【问题讨论】:
-
关于 CORS 使用和 Internet Explorer 的说明:caniuse.com/#search=cors
-
当源的唯一区别是端口时,IE 和 Origin 标头中也存在错误:stackoverflow.com/a/20784210/1268003
标签: javascript ajax http http-headers cors