我想知道浏览器如何处理CORS预检响应,其中包括Vary:原始和访问控制最大年龄标题。CORS预检响应包括Vary:Origin和Access-Control-Max-Age?
这种说法是从那些希望使自己与多个 起源可以共享,但不带“*”必须在实践中 产生的访问控制允许来源均匀响应https://www.w3.org/TR/cors/
资源动态地在 响应他们希望允许的每个请求。因此,这样的资源的 作者应该发送各不相同:原产HTTP标头或 提供其他合适的控制指令来防止 这样的响应,这可能是不准确的高速缓存如果使用的重新跨起源
从这句话我的理解有所不同:产地会告诉浏览器防止预检响应的高速缓存(如果允许来源:*未使用)
访问控制-max-age的会告诉浏览器将预检快取回应一段时间。
的问题:
它是有效的,如果两个头的预检响应存在吗?
如果响应包含两个标头,浏览器如何处理Preflight响应?
谢谢!
Upvoted。 w3网站说头Vary:Origin会阻止缓存。你可以看看它。谢谢! – Loc
干杯 - 请注意,您从https://www.w3.org/TR/cors/中引用的文本仅仅是一个内容丰富的注释 - 不是规范性要求的陈述 - 但无论如何,它没有提及任何有关CORS-preflight缓存&并不打算与CORS预检缓存相关。相反,它说,“防止缓存这样的响应”,在上下文中只是意味着正常的HTTP响应。 HTTP规范定义的'Vary'标头是影响正常HTTP缓存的东西,这是浏览器全部在浏览器依赖的任何网络堆栈中实现的,不一定在核心浏览器代码中实现 – sideshowbarker