我已将响应标头中的Cache控件设置为Cache-Control:public, max-age=86400
。但是当我尝试刷新页面或打开一个新选项卡时,它总是会打到我的服务器。我得到的响应状态是200,此请求出现了服务器日志,我也检查了chrome://cache/
这个请求不在列表中。我已经看过一些类似的SO问题cache-control not working without etag和why cache-control:max-age don't work?。但仍然没有运气。测试铬56。
当DevTools打开时,Chrome会禁用缓存,或者至少它会执行Chrome 59.打开DevTools,转到网络,取消选中顶部的“禁用缓存”。现在,您应该能够刷新页面并在chrome:// cache中查看它。
缓存控制告诉您的浏览器(以及像Squid这样的代理服务器)它无法缓存哪些资源。但它不会强制您的浏览器缓存资源。
我建议检查error_logs,看看你是否真的去了后端,或者留在浏览器中。
在我的情况下,浏览器在控制台日志中给我200OK但我没有根据error_log到达后端...