http - Access-Control-Allow-Origin http header 有什么意义?

标签 http http-headers xss

我很难理解 Access-Control-Allow-Origin http header 的意义。

我认为如果客户端(浏览器)从服务器收到一次“否”,它就不会发送任何进一步的请求。但是 chrome 和 firefox 一直在发送请求。

谁能告诉我一个现实生活中这样的 header 有意义的例子?

谢谢!

最佳答案

Access-Control-Allow-Origin header 应包含“允许”访问资源的来源列表。

因此,确定哪些域可以向您的服务器请求资源。

例如,发回 Access-Control-Allow-Origin: * header 将允许所有站点访问所请求的资源。

另一方面,发回 Access-Control-Allow-Origin: http://foo.example.com 将只允许访问 http://foo.example.com .

Mozilla Developer Site 上有更多关于此的信息

例如

假设我们在自己的域中有一个 URL,该 URL 按艺术家返回音乐专辑的 JSON 集合。它可能看起来像这样:

http://ourdomain.com/GetAlbumsByArtist/MichaelJackson.json

我们可能会在我们的网站上使用一些 AJAX 来获取此 JSON 数据,然后将其显示在我们的网站上。

但是,如果其他站点的用户希望自己使用我们的 JSON 对象怎么办?也许我们有另一个网站 http://subdomain.ourdomain.com 我们拥有并且想使用来自 ourdomain.com 的提要。

传统上我们不能对这些数据进行跨域请求。

通过指定允许访问我们资源的其他域,我们现在为跨域请求打开了大门。

关于http - Access-Control-Allow-Origin http header 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8974605/

相关文章:

http - 406 HTTP 状态错误的正确响应格式是什么

iframe - 正确防止跨域 iframe 消息中的 XSS

c# - HTTP 范围 : bytes with WebClient C#

javascript - 这是一个伪装成工厂的 AngularJS 服务吗?

javascript - AWS API 网关的 HTTP 客户端请求

javascript - 如何通过 javascript 设置 content-disposition = attachment?

perl - 得到响应时 IO::Socket 超时

php - HTMLPurifier 破坏图像

javascript - 攻击者能否在 html5 数据属性中插入恶意代码

http - 为什么我的 Hello World go 服务器被 ApacheBench 压垮了?