我读了这个问题和这个问题。前者只解释“无源”与“同源”;后者建议“no-cors”不有用,因为响应不透明(Javascript无法读取/执行任何有用的操作):
有人能告诉我们,在这些“有限的情况”中,我们想要使用“no-cors”的例子是什么吗(尽管反应是不透明的?)
我能想到的唯一情况是一种单向交流;如果客户机向服务器发送GET或POST就足够了,那么服务器就可以跟踪请求的发生;(例如,增加请求计数器);...
...那么反应是一个不透明的就足够了;也就是说,客户机只需要知道请求是否成功(状态200),而不期望任何有效负载响应。
请记住,CORS设置并不阻止请求到达服务器--这就是身份验证和CSRF的作用。相反,它防止页面读取响应。请求仍然是:
起源
标头,access-control-allog-origin
。如果它与浏览器认为的源
匹配,则浏览器允许页面查看请求的结果。这是密钥同源策略,CORS设置禁止合作浏览器中的页面看到响应。
CORS做上述工作。它不执行以下操作: