哪个服务器必须实现 CORS?

Which server must implement CORS?

superagent documentation 包含有关 CORS 的条目:

For security reasons, browsers will block cross-origin requests unless the server opts-in using CORS headers. Browsers will also make extra OPTIONS requests to check what HTTP headers and methods are allowed by the server. Read more about CORS.

The .withCredentials() method enables the ability to send cookies from the origin, however only when Access-Control-Allow-Origin is not a wildcard ("*"), and Access-Control-Allow-Credentials is "true".

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

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

哪个服务器必须实现 CORS?

交付的 JavaScript 向其发出请求的 API / 资源服务器是需要启用 CORS 支持的服务器——假设该服务器 运行 位于不同的来源比发出请求的前端 JavaScript 代码的来源。

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

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

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

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