내 사이트는 정적 사이트이며 IIS 8 웹 서버의 콘텐츠를 제공합니다. 아파치를 사용하는 데 사용하고 난 캐시 내가 IIS에서 구현하고 싶은, 파열에 대한 다음과 같은 구성이 : 나는 환경 변수 "공학적으로 설계된"이 설정되어 있는지 여부에 따라 캐시 제어를 설정 한 후정적 콘텐츠에 대한 쿼리 문자열을 사용하여 IIS에서 캐시 무효화
# Extend cache expiry for fingerprinted URLs
RewriteCond %{QUERY_STRING} ^[0-9a-fA-F]{8,}$
RewriteRule ^ - [E=revved:1]
을 그리고를 :
# (For HTTP/1.1 clients)
Header set Cache-Control "max-age=1200" env=!revved
Header set Cache-Control "max-age=31536000" env=revved
My JS와 CSS가 번들되어 있으며 쿼리 문자열에 해시를 첨부합니다. 나는 이미지에 대해서도 똑같이한다.
지금까지 내가 할 수 있었던 일은 <clientCache />
요소를 사용하고 cacheControlMode="UseMaxAge
및 cacheControlMaxAge="00:20:00"
을 첨부하는 것입니다.
아파치 설정에서 볼 수있는 것은 "revved"변수를 설정하면 프록시 서버 (CDN)와 클라이언트가 365 일 동안 파일을 캐시해야한다는 것입니다. 그렇지 않으면 20 분 동안 캐시되어야합니다. 내 web.config에서 동일한 동작을하고 싶습니다.
IIS의 "출력 캐싱"에 대해서는 읽었지만 PHP 또는 ASP를 사용하는 동적 페이지를 위해 설계된 것으로 알고 있습니다.
누군가가 나를 올바른 방향으로 인도 할 수 있다면 매우 감사 할 것입니다.