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

<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标头,这些标头使用时间作为过期的缓存内容的条件。

规格。说
“为了将响应标记为“永不过期”,源服务器从发送响应之日起大约一年后发送Expires日期。HTTP/ 1.1服务器不应在未来超过一年后发送Expires日期。”

因此cacheSeconds值应约为。遵循规格一年。

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

ps。看起来您粘贴的代码已损坏或仅包含错别字。

10-07 16:19