跨子域的跨源资源共享 (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.com
和 resource.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
假设我在 www.example.com (a)
有一个应用程序如果我的资源在 www.someotherdomain.com (b) 并且我从 AJAX 调用 (a) 到 (b) 那么 CORS 规则将适用。
但是,如果我的资源位于 api.example.com (c),那么在从 (a) 到 (c) 发出 AJAX 请求时,人们会期望避免 CORS - 但是,我发现事实并非如此。
跨子域发出请求时 CORS 规则仍然适用 - 这是真的吗?
是否有绕过此规则(不使用 JSONP
)?
我无法想象在 www.amazon.com
和 resource.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