Access-Control-Allow-Origin

Access-Control-Allow-Origin 响应头指示是否可以与来自给定 的请求代码共享响应。

头类型 响应头
禁止的头名称

语法

http
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null

指令

*

对于没有凭据的请求,可以指定字面值“*”作为通配符;该值告诉浏览器允许来自任何源的请求代码访问资源。尝试使用通配符和凭据 会导致错误

<origin>

指定源。只能指定一个源。如果服务器支持来自多个源的客户端,它必须返回发出请求的特定客户端的源。

null

指定源“null”。

注意:null 不应该使用:“返回Access-Control-Allow-Origin: "null" 似乎很安全,但使用非分层方案(例如data:file:)和沙盒文档的任何资源的 Origin 的序列化被定义为“null”。许多用户代理将授予此类文档访问具有Access-Control-Allow-Origin: "null" 头的响应的权限,并且任何源都可以创建具有“null” Origin 的恶意文档。因此,应避免 ACAO 头的“null”值。”

示例

告诉浏览器允许来自任何源的代码访问资源的响应将包含以下内容

http
Access-Control-Allow-Origin: *

告诉浏览器允许来自源https://mdn.org.cn 的请求代码访问资源的响应将包含以下内容

http
Access-Control-Allow-Origin: https://mdn.org.cn

将可能的Access-Control-Allow-Origin 值限制为一组允许的源需要服务器端代码检查Origin 请求头的值,将其与允许的源列表进行比较,然后如果Origin 值在列表中,将Access-Control-Allow-Origin 值设置为与Origin 值相同的值。

CORS 和缓存

假设服务器发送的响应包含一个具有显式源(而不是“*”通配符)的Access-Control-Allow-Origin 值。在这种情况下,响应还应包含一个具有值OriginVary 响应头——以指示浏览器服务器响应可以根据Origin 请求头的值而有所不同。

http
Access-Control-Allow-Origin: https://mdn.org.cn
Vary: Origin

规范

规范
获取标准
# http-access-control-allow-origin

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载

另请参阅