gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:11:59 24 4
gpt4 key购买 nike

我知道有很多跨域问题,但我一直无法找到我想要的东西。

我想从a.com向b.com发出客户端AJAX请求,这显然是不允许的。我以为如果我创建了bacom-> b.com CNAME记录,那么浏览器将允许该请求,因为这意味着拥有a.com域的人都希望显式允许对b.com的请求,但我仍然可以获得访问权限-Control-Allow-Origin错误,不允许该请求。 CNAME是否可能发出此请求?

注意:我无法控制b.com,因此无法在其中设置 header 。

最佳答案

否。(但我有一个真实的解释)

“跨域请求”的“道路规则”通常受“相同来源政策”管辖(请参阅:The W3C CommentaryWikipediaGoogle Browser Security HandbookMozilla Developer Network)

W3C特别声明:

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



根据此定义,甚至从 foo.combar.foo.com的请求也将被阻止。

在您的示例中,您建议为 CNAME创建一个指向 bar.foo.combar.com(我假设您有错字)应允许通过 bar.com发出对 bar.foo.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 http://store.company.com/dir/page.html:

URL | Outcome | Reason

http://store.company.com/dir2/other.html | Success
http://store.company.com/dir/inner/another.html | Success
https://store.company.com/secure.html | Failure | Different protocol http://store.company.com:81/dir/etc.html | Failure | Different port http://news.company.com/dir/other.html | Failure | Different host

关于ajax - 通过使用CNAME记录是否可以允许跨域请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com