IISで静的ファイルのキャッシュ可能性を設定するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/287414

質問

(帯域幅を維持するために)できるだけ少なくダウンロードしたいIIS 6ベースのWebサイトのフォルダーにいくつかの静的イメージがあります。 30日後にコンテンツの有効期限が切れるように設定しました。ブラウザ、プロキシ、ゲートウェイキャッシュによるキャッシュを最大化するためにIISでできることは他にありますか?

Cache-Controlヘッダーの追加など?他に何か?

役に立ちましたか?

解決

http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx

これは、次の内容を網羅したブログ投稿です。

  1. 静的コンテンツ設定の上書きを許可
  2. 次のコマンドを使用してキャッシュ設定を設定します
  3. クライアントでキャッシュする

他のヒント

この質問に対する私の答えは次のとおりです。" Expires"静的コンテンツの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.
)

Webルートの各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