WebPageTest显示无静态缓存但重复访问返回304响应是什么原因
WebPageTest的静态缓存检测并不是忽略max-age=0的响应,而是该配置本身不满足检测项的通过规则,具体逻辑如下:
max-age=0的实际作用是告知浏览器资源缓存后立即过期,每次使用前必须向服务端发起条件校验请求,你看到的304响应就是校验后服务端返回资源未修改、可以使用本地缓存的结果,这种属于协商缓存机制,本质上还是需要每次发起HTTP请求,只是不需要重复传输资源体。- WebPageTest的静态缓存检测校验的是强缓存配置,要求静态资源的
max-age至少达到7天(604800秒),有效期内浏览器可以直接从本地读取缓存,不需要发起任何HTTP请求,以此减少网络开销。你站点的脚本、样式配置了max-age=2592000(30天)满足该要求,所以会标记为通过。 max-age=0的配置没有实现减少请求的效果,自然不会被判定为通过静态缓存检测。
内容的提问来源于stack exchange,提问作者Saito Asuka
相关产品推荐
相关产品推荐

