跨子域的跨源资源共享 (CORS)

Cross Origin Resource Sharing (CORS) across Subdomains

假设我在 www.example.com (a)

有一个应用程序

如果我的资源在 www.someotherdomain.com (b) 并且我从 AJAX 调用 (a) 到 (b) 那么 CORS 规则将适用。

但是,如果我的资源位于 api.example.com (c),那么在从 (a) 到 (c) 发出 AJAX 请求时,人们会期望避免 CORS - 但是,我发现事实并非如此。

跨子域发出请求时 CORS 规则仍然适用 - 这是真的吗?

是否有绕过此规则(不使用 JSONP)?

我无法想象在 www.amazon.comresource.amazon.com 之间发出的所有请求,例如,总是 CORS 请求。大规模管理 headers 和预检 request/response 似乎很乏味且成本​​高昂。

我这里有什么遗漏吗?

CORS 适用于一组 protocol:domain:port,或 null,或 *。参见 https://www.w3.org/TR/cors/#access-control-allow-origin-response-header

所以你的问题的答案是,,CORS 规则仍然适用于你的子域。

请注意 - 您可以使用 document.domain 方法 从 (c) 调用 (a)

Ways to circumvent the same-origin policy