加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – 是否可以通过使用CNAME记录来允许跨域请求?

发布时间:2020-12-16 02:54:47 所属栏目:百科 来源:网络整理
导读:我知道有很多跨域问题,但我找不到我想要的东西. 我想从a.com向b.com提出客户端AJAX请求,这显然是不允许的.我想如果我创建了一个b.a.com – b.com CNAME记录然后浏览器将允许此请求,因为这意味着拥有a.com域名的任何人想要明确允许对b.com的请求,但我仍然得到
我知道有很多跨域问题,但我找不到我想要的东西.

我想从a.com向b.com提出客户端AJAX请求,这显然是不允许的.我想如果我创建了一个b.a.com – > b.com CNAME记录然后浏览器将允许此请求,因为这意味着拥有a.com域名的任何人想要明确允许对b.com的请求,但我仍然得到一个没有的Access-Control-Allow-Origin错误允许请求.是否无法通过CNAME进行此请求?

注意:我无法控制b.com,所以我无法在那里设置标题.

解决方法

没有(但我有一个真正的解释)

“跨域请求”的“道路规则”通常由“同源政策”管理(参见:The W3C Commentary,Wikipedia,Google Browser Security Handbook,Mozilla Developer Network)

W3C明确指出:

An origin is defined by the scheme,host,and port of a URL.

根据这个定义,即使从foo.com到bar.foo.com的请求也会被阻止.

在您的示例中,您建议为bar.foo.com创建指向bar.com的CNAME(我假设您有拼写错误)应允许通过bar.foo.com向bar.com发送请求.但是,正如我上面所说,即使来自foo.com的请求也会在客户端阻止向bar.foo.com发出HTTP请求.

Mozilla的页面甚至有这个具体的例子:

Mozilla considers two pages to have the same origin if the protocol,
port (if one is specified),and host are the same for both pages. The
following table gives examples of origin comparisons to the URL
07004:

URL | Outcome | Reason

07005 | Success
07006 | Success
07007 | Failure | Different protocol
07008 | Failure | Different port
http://news.company.com/dir/other.html | Failure | Different host

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读