AJAX 请求时什么会触发跨域违规?

What triggers cross-domain violation when AJAX request?

我在下面被问到一个问题,但找不到答案。我查找了类似的帖子,但很多帖子(比如 this)最终都在谈论跨域,而不是跨域。以下问题的答案是什么?

问:假设您正在 http://example.com/path/to/foo.html 上的网页上工作。 如果您向以下 URL 发送 AJAX 请求,哪个不会触发跨域违规?

答:http://example.com/bar

乙:https://example.com/path/to/bar.html

C: https://example.com:80/bar

D: http://www.example.com/bar

E: C and D

提前谢谢你。

更新: 最初,我看到一个网站说 there is a 'Cross-domain violation' which is different from 'CORS' since 'origin' and 'domain' points different part.,这就是为什么我一直在寻找 'cross-domain violation' 的定义。但它实际上与'same-origin policy'相同,如下面的答案所示。

由于这个:

A resource is cross-origin when it's located at a different (sub)domain, protocol, or port!

您还应该使用 exact match host,这样 http://www.example.com/bar 就不行了。

查看 this 以查看更多示例。

您不应该在 A 选项中获得 CORS。

还有 this 篇完整描述 CORS 的文章。