Frage

Ich habe einige statischen Bilder in einem Ordner auf IIS 6-basierte Website, die ich so wenig wie möglich heruntergeladen werden soll (Bandbreite erhalten). Ich habe das Ablaufen von Inhalt festgelegt nach 30 Tagen ablaufen. Gibt es etwas, was ich in IIS tun kann, um zu versuchen, das Caching von Browsern, Proxy und Gateway-Caches zu maximieren?

Wie ein Cache-Control-Header hinzufügen? Sonst noch etwas?

War es hilfreich?

Lösung

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

Dies ist ein Blog-Post Abdeckung wie folgt vor:

  1. Zulassen zwingende statische Inhalte Einstellung
  2. gesetzt Cache-Einstellungen mit folgenden Befehlen
  3. Cache es auf den Client

Andere Tipps

Hier ist meine Antwort auf dieser Frage: „Läuft ab“ in hTTP-Header für statische Inhalte? How-to

@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.
)

, die den Cache-Wert für jede CSS-Datei in einem Web-Root bis 5 Tagen setzt, dann führen Sie es wie folgt aus:

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

Eine Art von schmerzhaften, aber praktikabel ist.

BTW - den Wert für HttpExpires zu bekommen, um den Wert in der GUI gesetzt, dann führen

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

, um den tatsächlichen Wert erhalten müssen Sie

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top