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

Asi*_*K T 4 proxy caching 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

Dim*_*mos 6

RFC文档中所述:

如果no-cache指令没有指定字段名,那么缓存绝不能使用响应来满足后续请求,而不能成功地与源服务器重新验证.这允许源服务器甚至通过已配置为返回对客户端请求的陈旧响应的缓存来防止缓存.

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

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

既然它没有缓存,浏览器(或代理服务器)是否考虑最大年龄?

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