我如何启用浏览器缓存,永远不会过期使用Spring MVC WebContentInterceptor



我们已经设置了一个cachemapping属性来缓存一个在Spring MVC应用程序中永远不会改变的静态HTML文件。

<beans:bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<beansroperty name="cacheSeconds" value="0"/>
<beansroperty name="useExpiresHeader" value="true"/>
<beansroperty name="useCacheControlHeader" value="true"/>
<beansroperty name="useCacheControlNoStore" value="true"/>
<beansroperty name="cacheMappings">
    <beansrops>
        <beansrop key="/foo/**/*.html">31556926</beansrop>
    </beansrops>
</beansroperty>

有没有更好的方法告诉它永远不会过期的HTML文件在这个特定的目录,而不是设置一个很长的缓存周期?

WebCotextInterceptor将这些参数直接映射到使用时间作为缓存内容过期条件的http标头。

甚至更多,spec说为了将响应标记为"永不过期",源服务器将发送一个过期日期,从发送响应的时间开始大约一年。HTTP/1.1服务器不应该发送超过一年的过期日期。"

所以cachesseconds的值应该是大约。一年时间遵循规范。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html sec14.21

p。看起来您粘贴的代码有问题或只是包含拼写错误。

最新更新