Access-Control-Allow-Origin 头
语法
http
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
指令
*(通配符)-
允许来自任何源的请求代码访问资源。对于不带凭据的请求,可以将文字值
*指定为通配符。尝试将通配符与凭据一起使用会导致错误。 <源>-
指定单个源。如果服务器支持来自多个源的客户端,它必须返回发起请求的特定客户端的源。
null-
指定源“null”。
注意:不应使用值
null。返回Access-Control-Allow-Origin: "null"可能看起来很安全;然而,使用非分层方案(例如data:或file:)的资源的源以及沙盒文档的源会序列化为null。许多浏览器将授予此类文档访问带有Access-Control-Allow-Origin: null头的响应的权限,并且任何源都可以创建一个带有null源的恶意文档。因此,应避免对Access-Control-Allow-Origin头使用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
规范
| 规范 |
|---|
| Fetch # http-access-control-allow-origin |
浏览器兼容性
加载中…