即使服务器已实现 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?的主要内容,如果未能解决你的问题,请参考以下文章