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 的浏览器中加载