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 值。在这种情况下,响应还应包含一个具有值Origin 的Vary 响应头——以指示浏览器服务器响应可以根据Origin 请求头的值而有所不同。
http
Access-Control-Allow-Origin: https://mdn.org.cn
Vary: Origin
规范
| 规范 |
|---|
| 获取标准 # http-access-control-allow-origin |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载