문제

IIS 6 기반 웹 사이트의 폴더에 정적 이미지가 있는데 가능한 한 적게 다운로드하려는 (대역폭을 보존하기 위해) 정적 이미지가 있습니다. 30 일 후에 콘텐츠 만료가 만료되도록 설정했습니다. 브라우저, 프록시 및 게이트웨이 캐시로 캐싱을 최대화하기 위해 IIS에서 할 수있는 일이 있습니까?

캐시 제어 헤더 추가와 같은? 다른 뭐야?

도움이 되었습니까?

해결책

http://www.galcho.com/blog/post/2008/02/27/iis7-how-to-set-cache-control-control-control-content.aspx

다음을 다루는 블로그 게시물입니다.

  1. 정적 컨텐츠 설정을 재정의 할 수 있습니다
  2. 다음 명령을 사용하여 캐시 설정을 설정하십시오
  3. 클라이언트에 캐시하십시오

다른 팁

이 질문에서 내 대답은 다음과 같습니다. 정적 콘텐츠에 대한 HTTP 헤더에서 "만료"? 어떻게

@ECHO OFF 
REM ---------------------------------------------------------------------------
REM Caching - sets the caching on static files in a web site
REM syntax 
REM     Caching.CMD 1 d:\sites\MySite\WWWRoot\*.CSS
REM 
REM   %1 is the WebSite ID
REM   %2 is the path & Wildcard - for example, d:\sites\MySite\WWWRoot\*.CSS
REM   _adsutil is the path to ADSUtil.VBS
REM ---------------------------------------------------------------------------

SETLOCAL
REM *******
REM SET THIS TO POINT TO adsutil.vbs - TYPICALLY c:\inetpub\adminscripts\adsutil.vbs
REM *******
SET _adsutil=D:\Apps\Scripts\adsutil.vbs

FOR %%i IN (%2) DO (
  ECHO Setting Caching on %%~ni%%~xi
  CSCRIPT %_adsutil% CREATE W3SVC/%1/root/%%~ni%%~xi "IIsWebFile"
  CSCRIPT %_adsutil% SET    W3SVC/%1/root/%%~ni%%~xi/HttpExpires "D, 0x69780"
  ECHO.
)

각 CSS 파일의 캐싱 값을 웹 루트로 5 일로 설정 한 다음 다음과 같이 실행합니다.

Caching.CMD 1 \site\wwwroot\*.css
Caching.CMD 1 \site\wwwroot\*.js
Caching.CMD 1 \site\wwwroot\*.html
Caching.CMD 1 \site\wwwroot\*.htm
Caching.CMD 1 \site\wwwroot\*.gif
Caching.CMD 1 \site\wwwroot\*.jpg

고통 스럽지만 실행 가능합니다.

BTW- httpexpires의 값을 얻으려면 GUI에서 값을 설정 한 다음 실행하십시오.

AdsUtil.vbs ENUM W3SVC/1/root/File.txt

필요한 실제 가치를 얻으려면

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top