使用浏览器调试 http 缓存头的时候,有一些需要注意的地方。一个显著的问题是刷新(F5)或者地址栏输入网址方式(Enter)访问页面,所有请求都会自动设置 Cache-Control:max-age=0。
如果是强制刷新(SHIFT + F5)的方式,所有请求都会自动设置 Cache-Control:no-cache。
另外,控制台(Network)也有一个 “disable cache” 的选项,需要注意。
启用 stale-while-revalidate 扩展,这个需要通过 chrome://flags 设置,将 stale-while-revalidate 设置为 enable。
如果需要在浏览器里面去掉这个强制设定的“Cache-Control:max-age=0”,可以使用 ajax 来发起请求,或者使用页面内链接的方式访问。
比如直接设置 a 标签的 href,这个时候浏览器就不会设定 max-age=0 了。