Атрибутът IIS7 cacheControlMaxAge не работи

В IIS 7.5 съм задал cacheControlMaxAge да бъде една година така

<location path="Content/Images">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>

Съгласно това ръководство: Настройка на Expires и Cache-Control: max-age заглавки за статични ресурси в ASP.NET

Инструментът на Google PageSpeed ​​обаче все още казва, че файловете не са кеширани:

The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources:
* https://local.example.com/Content/Images/image1.png (expiration not specified)
(etc)

Защо пише "не е посочен срок на годност"?

Цялото уеб приложение се обслужва през https, това фактор ли е?


person JK.    schedule 29.09.2012    source източник
comment
Проверихте ли http заглавките за image1.png? Можете да направите това в инструментите за разработка на вашия браузър (F12 в Chrome/FF/IE), под раздела мрежа. Или можете да използвате Fiddler. Всички съвременни браузъри кешират елементи през https, ако е зададена максималната възраст.   -  person Giscard Biamby    schedule 29.09.2012
comment
В http заглавките пише Cache-Control: public, но не се споменава за изтичане, как ще се нарича заглавката за изтичане?   -  person JK.    schedule 29.09.2012
comment
Решено: добавянето на атрибутите за кеширане към location path="Content" вместо location path="Content/Images" коригира проблема.   -  person JK.    schedule 29.09.2012
comment
Бихте ли публикували отговора като отговор, ако сте решили проблема?   -  person Giles Roberts    schedule 29.07.2013


Отговори (2)


Реших това, като промених указания път от Content/Images само на Content

<location path="Content">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlCustom="public" 
                     cacheControlMode="UseMaxAge" 
                     cacheControlMaxAge="365.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>

Така че е оправено, но промяната на пътя не изяснява какъв всъщност е проблемът.

person JK.    schedule 18.03.2014

Открих, че Google PageSpeed ​​в някои случаи отнема известно време, за да „навакса“ последните промени, които сте направили. Уверете се, че сте направили пълно опресняване на страницата и натиснете бутона за опресняване в самия PageSpeed. В противен случай използването на Firebug във Firefox изглежда винаги дава точни резултати в раздела net. Щракнете върху иконата плюс до файла и прегледайте заглавките на отговора.

person Giles Roberts    schedule 29.07.2013
comment
Открих, че добавянето на неподходящ низ за заявка в края на страницата принуждава Google PageSpeed ​​да получи най-новата версия. т.е. example.com/testpage.htm?x=1 - person EddieC; 27.02.2015