access-control-allow-origin到底是服务端起作用还是浏览器端?

假如服务端某个接口设置access-control-allow-origin

某个浏览器从不允许的域名调用该接口

那么有两种结果

1 服务端该接口是直接报错返回

2 服务端该接口正常执行完毕,只是在response中包含Access-Control-Allow-Origin字段,然后返回给浏览器,而浏览器检查响应如果包含Access-Control-Allow-Origin字段,就拒绝进一步动作

是1正确还是2?

阅读 185
评论
    1 个回答

    这几个头是为了解决同源策略中的 AJAX 跨域问题。

    而“同源策略”,是浏览器作出的限制。

    所以你觉得呢?


    第 2 种说法前半部分倒是大概对,后半部分不对啊。前半部分首先后端不是正常处理,而是浏览器先发起一个 OPTIONS 请求来询问可不可以跨域 AJAX;后半部分是浏览器要检查的是发起请求的页面 Origin 和 Access-Control-Allow-Origin 匹不匹配啊,不匹配才拒绝,匹配了就可以正常发起 AJAX 请求了。

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章