2013-04-25 75 views
2

我們已經建立了一個cacheMappings屬性來緩存一個永遠不會改變我們的Spring MVC應用程序的靜態HTML文件。如何啓用永不過期使用Spring MVC WebContentInterceptor的瀏覽器緩存?

<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文件?

回答

0

WebCotextInterceptor將這些參數直接映射到http標頭,這些標頭使用時間作爲過期緩存內容的條件。

此外,規格。 「爲了將響應標記爲」永不過期「,源服務器發送的過期日期大約爲響應發送時間的一年,HTTP/1.1服務器不應該在將來發送超過一年的過期日期。

so cacheSeconds value should be approx。一年遵循規範。

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

ps。看起來您粘貼的代碼已損壞或僅包含拼寫錯誤。