如果我将服务器响应设置为: 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浏览器/缓存识别(。