【问题标题】:CORS allowed when no response header Access-Control-Allow-Origin没有响应头 Access-Control-Allow-Origin 时允许 CORS
【发布时间】:2019-04-12 22:46:45
【问题描述】:

即使响应标头不包含“Access-Control-Allow-Origin”,我也可以将 post/put/delete 发送到我的本地主机,我使用的是 chrome,所以我的问题:

1- 如果没有返回“Access-Control-Allow-Origin”,是否允许来自不同站点的请求?

2-为什么请求在我的本地主机上有效,浏览器在请求中发送了以下标头:

来源:http://localhost:8080

或者浏览器在同源时忽略响应头“Access-Control-Allow-Origin”?

【问题讨论】:

    标签: javascript google-chrome cors cross-domain


    【解决方案1】:

    如果没有返回“Access-Control-Allow-Origin”,是否允许来自不同站点的请求?

    其他条件相同的 POST 请求将被允许,但同源策略将阻止 JS 读取响应。

    PUT 和 DELETE 请求需要 Preflight 请求才能首先从 CORS 获得许可,因此这些请求将被阻止。

    为什么请求在我的本地主机上有效

    当请求来自同一个来源时,同源策略不会阻止访问。

    【讨论】:

    • 所以即使浏览器发送了 Origin 标头,也永远不需要在同一来源上使用“Access-Control-Allow-Origin”吗?
    猜你喜欢
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 2018-08-30
    • 2018-11-11
    • 2015-03-21
    • 2020-02-27
    • 2015-06-17
    相关资源
    最近更新 更多