即使服务器已实现 cors,默认情况下 Chrome 是不是也不允许使用 cors?

Posted

技术标签:

【中文标题】即使服务器已实现 cors,默认情况下 Chrome 是不是也不允许使用 cors?【英文标题】:Is cors not allowed on chrome by default even if server has implemented cors?即使服务器已实现 cors,默认情况下 Chrome 是否也不允许使用 cors? 【发布时间】:2015-07-18 23:51:35 【问题描述】:

我正在开发一个网络应用程序。在开发过程中,我希望我的本地托管应用程序可以将 xmlhttprequest 发送到另一个域。

我搜索了一下,很多材料都说允许在 chrome 上使用 cors,我需要使用 --disable-web-security 选项。任何服务器都需要实现响应头:Access-Control-Allow-Origin: *

这是否意味着即使服务器实现了cors,正常的chrome用户仍然无法发送跨域请求,因为--disable-web-security没有启用?

如果是这样,那么服务器实现 cors 的意义何在?他们不认识的普通用户并打开 --disable-web-security 选项。

【问题讨论】:

在 chrome 上是允许的。参考这个链接***.com/questions/20035101/… 我还是不清楚,你的意思是不需要 --disable-web-security 吗? 【参考方案1】:

经过一些测试,我得到了答案。 网上大部分资料或博客都不清楚这一点,可以通过以下方式发送跨域请求:

    要么有服务器实现cors,即响应头需要有Access-Control-Allow-Origin: * 或者你--disable-web-security你的chrome浏览器方便

因此,您只需要具备上述之一即可使跨源请求生效。 既要确保服务器实现了 cors,又要禁用 Web 浏览器的 Web 安全性。

【讨论】:

以上是关于即使服务器已实现 cors,默认情况下 Chrome 是不是也不允许使用 cors?的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs API:默认情况下似乎启用了 CORS

我没有设置 CORS 标头,即使它已设置。为啥?

为啥禁止没有凭据的 CORS?

CORS

CORS

CORS