发出 CORS 请求时,如果请求的 Origin 在允许的来源列表中,则响应包含Access-Control-Allow-Origin
标头和Vary: Origin
标头。
Vary: Origin 告诉后续 CDN 等响应是根据请求者 Origin 标头值协商的。
问题是(我已经测试了领先的 CDN 提供商),如果请求者没有在他们的请求中提供 Origin 标头,或者不是允许的 Origin 值之一,则响应不包括变化:响应中的来源。
执行 CORS 的 CDN 是否应该始终在响应标头中使用 Vary: Origin 进行响应? 如果不是,CDN 会相信它可以对任何 Origin 值提供相同的响应。再说一次,可以通过发出许多具有随机原始值的请求来填充 CDN 缓存。