哪个服务器必须实现CORS?

时间:2018-03-14 22:53:46

标签: cors superagent

superagent documentation包含有关CORS的条目:

  

出于安全原因,除非服务器选择使用CORS标头,否则浏览器将阻止跨源请求。浏览器还会发出额外的OPTIONS请求,以检查服务器允许的HTTP标头和方法。阅读更多关于CORS的信息。

     

.withCredentials()方法可以从源发送cookie,但只有当Access-Control-Allow-Origin不是通配符(" *")和Access-Control-时Allow-Credentials是" true"。

但是,它没有解释哪个服务器需要实现CORS。

有两个服务器(我认为)可以参考:

  • 将HTML和JavaScript发送到浏览器的Web服务器
  • 交付的JavaScript向
  • 发出请求的API /资源服务器

哪个服务器必须实现CORS?

1 个答案:

答案 0 :(得分:1)

交付的JavaScript发出请求的API /资源服务器是需要启用CORS支持的服务器 - 假设服务器运行的原点不同于发出请求的前端JavaScript代码的来源。 / p>

将HTML和JavaScript发送到浏览器的服务器不需要启用CORS - 假设你的意思是服务器是发出请求的前端代码的来源。

Web服务器不需要启用CORS的原因是您没有向该服务器发出任何跨源请求。相反,它只是提供您的前端JavaScript代码。

但是您的前端JavaScript代码发出请求的其他任何来源的服务器必须启用CORS - 否则您的浏览器将阻止您的前端JavaScript代码访问其他服务器发送的任何响应的响应正文和响应头。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS有更多详情。