如果我将服务器响应设置为:
Cache-Control: private,no-cache,max-age=900
?
如果标题是这样的话会发生什么:
Cache-Control: public,no-cache,max-age=900
?
因为no-cache
浏览器(或代理服务器)是否考虑max-age
?
答案 0 :(得分:5)
如RFC documents中所述:
如果no-cache指令没有指定字段名,则表示缓存 不得使用响应来满足后续请求 使用原始服务器成功重新验证。这允许起源 服务器,以防止缓存,即使是已配置的缓存 返回对客户请求的过时响应。
因此,如果在服务器的响应中定义了no-cache
,这意味着浏览器(以及任何中间缓存)将在每个请求上“重新验证”(也就是向原始服务器发出请求并返回它的响应,而不是使用任何缓存的内容。)
所以,要清楚地回答你的问题:
由于它具有无缓存,无论浏览器(或代理服务器)是否考虑 最大年龄?
不,浏览器不会考虑max-age
(假设浏览器可以处理no-cache
指令,因为某些HTTP 1.0浏览器/缓存可能无法识别它。)