如果Cache-Control具有“no-cache”和“max-age = 900”,会发生什么?

时间:2018-04-26 09:36:18

标签: caching proxy no-cache fastly max-age

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

因为no-cache浏览器(或代理服务器)是否考虑max-age

1 个答案:

答案 0 :(得分:5)

RFC documents中所述:

  

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

因此,如果在服务器的响应中定义了no-cache,这意味着浏览器(以及任何中间缓存)将在每个请求上“重新验证”(也就是向原始服务器发出请求并返回它的响应,而不是使用任何缓存的内容。)

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

  

由于它具有无缓存,无论浏览器(或代理服务器)是否考虑   最大年龄?

不,浏览器不会考虑max-age(假设浏览器可以处理no-cache指令,因为某些HTTP 1.0浏览器/缓存可能无法识别它。)