gpt4 book ai didi

cors - CORS 试图解决的问题是什么?

转载 作者:行者123 更新时间:2023-12-03 10:39:43 27 4
gpt4 key购买 nike

我一直在阅读 CORS以及它是如何工作的,但我发现很多事情令人困惑。例如,有很多关于事情的细节,比如

User Joe is using browser BrowserX to get data from site.com, which in turn sends a request to spot.com. To allow this, spot has special headers... yada yada yada



没有太多背景,我不明白为什么网站不允许来自某些地方的请求。我的意思是,它们的存在是为了响应请求,不是吗?为什么不允许某些人的请求?

真的很感激 CORS 的问题的一个很好的解释(或一个链接)是为了解决。

所以问题是,

有什么问题CORS正在解决?

最佳答案

通过 JavaScript (AKA AJAX) 从页面发起请求的 Web 浏览器的默认行为是它们遵循 same-origin policy .这意味着只能通过 AJAX 向同一个域(或子域)发出请求。对完全不同的域的请求将失败。

存在此限制是因为您的浏览器在其他域发出的请求会携带您的 cookies 这通常意味着您会登录到另一个站点。因此,如果没有同源性,任何站点都可以托管在 stackoverflow.com 上调用 logout 的 JavaScript,例如,它会将您注销。现在想象一下当我们谈论社交网络、银行网站等时的复杂性。

因此,所有浏览器都只是将基于脚本的网络调用限制在他们自己的域中,以使其简单和安全。

Site X at www.x.com cannot make AJAX requests to site Y at www.y.com, only to *.x.com



有一些已知的变通方法(例如在请求中不包含 cookie 的 JSONP),但这些都不是永久的解决方案。

CORS允许这些跨域请求发生,但前提是每一方都选择加入 CORS 支持。

关于cors - CORS 试图解决的问题是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365303/

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