IIS6 允许没有 Access-Control-Allow-Origin 的 CORS

IIS6 允许没有 Access-Control-Allow-Origin 的 CORS

我不明白这是怎么回事。我在同一台服务器上运行了两个 IIS6 站点。一个是 www.example1.com,另一个是 www.example2.com

在 Google Chrome 中查看 HTTP 标头时,我没有看到任何 Access-Control-Allow-* 标头。但是,当我从任一域请求资源时,请求都会成功。

有人能向我解释为什么请求成功吗?

答案1

如果您不是从 Web 应用程序中的前端 JavaScript 代码发送请求,则请求将会成功。无论如何,浏览器都会收到响应 - 但浏览器是限制跨源请求的唯一执行点。如果响应没有响应标头,浏览器就是阻止响应的点 - 但浏览器仅限制 XHR/Fetch JavaScript 代码访问响应的能力。否则,如果您在浏览器地址栏中加载请求 URL,或者将请求 URL 用作HTML 源代码中的或值,Access-Control-Allow-Origin您仍然可以在浏览器 devtools 中看到响应。hrefsrc

相关内容