Как настроить кэшируемость статических файлов в IIS?

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

Вопрос

У меня есть несколько статических изображений в папке на моем веб-сайте IIS 6, которые я хочу загружать как можно меньше (чтобы сохранить пропускную способность). Я установил истечение срока действия контента через 30 дней. Что еще я могу сделать в IIS, чтобы увеличить кеширование в браузерах, прокси-серверах и кешах шлюзов?

Например, добавить заголовок Cache-Control? Что-нибудь еще?

Это было полезно?

Решение

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

Это сообщение в блоге, охватывающее следующее:

<Ол>
  • Разрешить переопределение настроек статического содержимого
  • установить настройки кэша с помощью следующих команд
  • Кэшируйте его на клиенте
  • Другие советы

    Вот мой ответ на этот вопрос: " Истекает " в заголовке 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
    

    Вид больно, но выполнимо.

    Кстати, чтобы получить значение для HttpExpires, задайте значение в графическом интерфейсе и запустите

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

    чтобы получить фактическое значение, которое вам нужно

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top