如果您添加
Vary
Origin
,这将导致任何浏览器跳过其缓存,并在
起源
起源
看见
the relevant part of the HTTP spec
# Allow cross origin
location ~* \.(eot|svg|ttf|woff|woff2|json)$ {
if ($http_origin ~* (https?://(admin\.)?example\.com(:[0-9]+)?)) {
add_header 'Access-Control-Allow-Origin' "$http_origin";
}
add_header 'Vary' "Origin";
}
你可以在
the MDN article on the
Vary
response header
.
变化
HTTP响应头确定如何匹配未来的请求
正在从源服务器请求一个新的。它由
内容协商算法中资源的表示。
在MDN中
Access-Control-Allow-Origin
文章
CORS and caching
章节:
访问控制允许原点
作为显式原点的值(而不是“
*
“通配符),则响应还应包括
Vary
带有值的响应标头
向浏览器指示服务器响应可以根据
起源
并且在
the Fetch spec itself
:
访问控制允许原点
到
*
Vary: Origin
响应标题。
如果
变化
不
已使用,并且服务器配置为发送
对于仅响应CORS请求的特定资源:当用户代理收到对该资源的非CORS请求的响应时,响应将缺少
访问控制允许原点
访问控制允许原点
.
更改:原点
在同一场景中使用,它将导致用户代理获取包括以下内容的响应:
,而不是使用来自先前非CORS请求的缓存响应