Gre*_*lis 6 javascript jquery xmlhttprequest cross-domain
我想更好地理解这一点。我目前使用的心理模型是这样的:
如果这个模型是正确的,我很困惑为什么浏览器会通过这个初步请求发送 Origin 标头。检查匹配不是发生在客户端吗?发送这个 header 能达到什么目的呢?
这就是CORS 的工作原理。这基本上是一次握手,表示欢迎您与我交谈。除非联系第 3 方,否则您无法知道是否可行。
以下是MDN 文章Preflighted_requests 部分的部分内容:
与简单请求(如上所述)不同,“预检”请求首先将 HTTP OPTIONS 请求标头发送到其他域上的资源,以确定实际请求是否可以安全发送。跨站点请求会像这样进行预检,因为它们可能会对用户数据产生影响。特别是,在以下情况下,请求会被预检:
它使用 GET 或 POST 以外的方法。另外,如果 POST 用于发送 Content-Type 不是 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 的请求数据,例如,如果 POST 请求向服务器发送 XML 有效负载使用 application/xml 或 text/xml,然后对请求进行预检。它在请求中设置自定义标头(例如,请求使用 X-PINGOTHER 等标头)
| 归档时间: | 
 | 
| 查看次数: | 4185 次 | 
| 最近记录: |