Como faço para definir o cachability de arquivos estáticos no IIS?
-
08-07-2019 - |
Pergunta
Eu tenho algumas imagens estáticas em uma pasta no meu IIS site baseado em 6 que eu quero ser baixado tão pouco quanto possível (para preservar a largura de banda). Eu definir a expiração de conteúdo para expirar após 30 dias. outra coisa lá algo que eu possa fazer em IIS está a tentar maximizar o cache por navegadores, proxy e gateway de caches?
Tal como a adição de um cabeçalho Cache-Control? Mais alguma coisa?
Solução
http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx
Este é um post de blog que cobre o seguinte:
- Permite a sobreposição de configuração de conteúdo estático
- configurações de cache conjunto usando seguintes comandos
- Cache-lo em cliente
Outras dicas
Aqui está a minha resposta desta pergunta: "Expira" em http cabeçalho para conteúdo estático? 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.
)
O que define o valor de cache para cada arquivo CSS em uma raiz web para 5 dias, em seguida, executá-lo como este:
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
Kind of doloroso, mas viável.
Entre - para obter o valor para HttpExpires, defina o valor na GUI, em seguida, executar
AdsUtil.vbs ENUM W3SVC/1/root/File.txt
para obter o valor real que você precisa