我正在设置Tomcat的web.xml中的过期过滤器。报头的响应是正确的,但IE仍然没有缓存。它总是向Tomcat提出新的要求。
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresByType image/png</param-name>
<param-value>access plus 2 hours</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
下面是响应的标题
缓存-控制:最大年龄=7199
届满时间:2016年11月14日星期一16:08:22格林尼治时间
内容-类型:图像/png
传输-编码:分块
日期:2016年11月14日星期一14:08:22格林尼治时间
有人知道我在这里错过了什么吗?
发布于 2016-11-15 15:11:02
简短的回答:你必须同时使用Pragma: no-cache
、Cache-Control: no-cache
和Expires
。
更新2019-01-24
上面的说明是用来禁用缓存的,而能够强制缓存的答案可以在下面的“所以答案”中找到:使IE缓存资源,但始终重新验证。
https://stackoverflow.com/questions/40591036
复制相似问题