如果缓存控制具有“无曲线”和“ max-age = 900”,将会发生什么



如果我将服务器响应设置为: Cache-Control: private,no-cache,max-age=900?如果标题是这样,会发生什么: Cache-Control: public,no-cache,max-age=900

由于它具有no-cache,无论是浏览器(还是代理服务器(考虑max-age

如RFC文档中所述:

如果无缓存指令未指定字段名,则缓存 不得使用响应来满足随后的请求而没有 使用原始服务器成功重新验证。这允许起源 服务器即使是由已配置为的缓存,也可以防止缓存 返回对客户请求的过时响应。

结果,如果在服务器的响应中定义了no-cache,则意味着浏览器(和任何中介堆(将在每个请求上"重新验证"(aka aka向原始服务器提出请求并返回其响应,而是使用任何缓存内容(。

所以,要清楚回答您的问题:

由于浏览器(或代理服务器(是否具有无编速 max-age?

否,浏览器不会考虑max-age(鉴于浏览器可以处理no-cache指令,因为这可能无法由某些HTTP 1.0浏览器/缓存识别(。

最新更新