Domanda

Ho alcune immagini statiche in una cartella sul mio sito Web basato su IIS 6 che voglio scaricare il meno possibile (per preservare la larghezza di banda). Ho impostato la scadenza del contenuto in modo che scada dopo 30 giorni. C'è qualcos'altro che posso fare in IIS per cercare di massimizzare la memorizzazione nella cache da browser, proxy e cache del gateway?

Come aggiungere un'intestazione Cache-Control? Nient'altro?

È stato utile?

Soluzione

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

Questo è un post sul blog che copre quanto segue:

  1. Consenti l'impostazione del contenuto statico prioritario
  2. imposta le impostazioni della cache usando i seguenti comandi
  3. Memorizzalo nella cache sul client

Altri suggerimenti

Ecco la mia risposta a questa domanda: & Exp; & exp; " nell'intestazione http per contenuti statici? 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.
)

Che imposta il valore di memorizzazione nella cache per ciascun file CSS in una radice Web su 5 giorni, quindi eseguirlo in questo modo:

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

Tipo di doloroso, ma praticabile.

A proposito: per ottenere il valore per HttpExpires, impostare il valore nella GUI, quindi eseguire

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

per ottenere il valore effettivo necessario

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top