我是新来的HTTP缓存和真的需要一些帮助......HTTP缓存控制
我看到很多人发送XHR到服务器时设置
"Cache-Control"
头。 这样做的目的是什么?请求标头是否也需要缓存?我已经为XHR设置了此标头:
Cache-Control max-age=30, must-revalidate
,但Firefox 3.6.13似乎在30秒后刷新(甚至是强制刷新)时不会重新验证文件。服务器中也没有访问日志。这是因为我没有在Apache中为文件设置过期头文件?从Firebug的日志:
响应头
日期星期六,2011年1月22 9点59分21秒GMT
的Last-Modified周四,2011 GMT 9时05分11秒
1月20日Etag的 “3e000000023ca7-20d-49a436e5b3413”请求头
保持活动115
连接保持
内容类型的应用程序/ XML
缓存控制最大年龄= 30,必重新验证该文件已被修改,但Firefox甚至没有做条件GET。
Response Date
和Last-Modified
根本不更新。
Yes客户端也可以发送Cache-Control指令,但根据IETF文档(和Mozilla的文档)必须重新验证不是客户端可以设置的指令之一,所以答案是正确的,说“服务器需要设置重新验证指令,而不是客户端“。但我同意,如果他们也表示客户可以设定最大年龄,这将会很有用。我不确定哪些浏览器版本在客户端执行并且不尊重他们;最好设置服务器上的所有内容。(另请参阅Chrome 35中修复的Chromium问题333804:它仍然影响Android 4.4应用程序中的WebView组件。) – 2017-06-23 21:45:18