2013-04-25 8 views
2

Spring MVC 애플리케이션에서 결코 변경되지 않는 정적 HTML 파일을 캐시하기 위해 cacheMappings 속성을 설정했습니다.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 헤더에 직접 매핑합니다.

더 자세히, 사양. "응답이"만료되지 않음 "으로 표시하기 위해 원본 서버는 응답이 전송 된 후 약 1 년 만료 날짜를 보냅니다 .HTTP 서버는 앞으로 1 년 이상 만료 날짜를 보내지 않아야합니다."

그래서 cacheSeconds 값은 대략이어야합니다. 1 년 사양을 따르십시오.

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

ps. 붙여 넣은 코드가 손상되었거나 오타가있는 것 같습니다.

관련 문제