我知道有很多跨域问题,但我找不到我想要的东西.
我想从a.com向b.com提出客户端AJAX请求,这显然是不允许的.我想如果我创建了一个bacom - > b.com CNAME记录,那么浏览器就会允许这个请求,因为这意味着拥有a.com域名的人想要明确允许对b.com的请求,但我仍然可以访问Control-Allow-Origin错误,不允许请求.是否无法通过CNAME进行此请求?
注意:我无法控制b.com,所以我无法在那里设置标题.
Ste*_*eve 10
没有(但我有一个真正的解释)
"跨域请求"的"道路规则"通常由"同源策略"管理(参见:W3C评论,维基百科,谷歌浏览器安全手册,Mozilla开发者网络)
W3C明确指出:
原点由URL的方案,主机和端口定义.
根据这个定义,甚至从请求foo.com
到bar.foo.com
将被阻止.
在您的示例中,您建议创建一个CNAME
针对bar.foo.com
哪些点bar.com
(我假设您有拼写错误)应该允许请求bar.com
通过bar.foo.com
.但是,正如我上面所说的那样,即使是来自foo.com
客户端的请求也会被阻止发出HTTP请求bar.foo.com
.
Mozilla的页面甚至有这个具体的例子:
如果协议,端口(如果指定了一个端口)和主机对两个页面都相同,则Mozilla认为两个页面具有相同的来源.下表给出了与URL http://store.company.com/dir/page.html进行原点比较的示例 :
网址| 结果| 原因
http://store.company.com/dir2/other.html | 成功
http://store.company.com/dir/inner/another.html | 成功
https://store.company.com/secure.html | 失败| 不同的协议 http://store.company.com:81/dir/etc.html | 失败| 不同的端口 http://news.company.com/dir/other.html | 失败| 不同的主人