W IIS 7.5 mam ustawić cacheControlMaxAge na jeden rok jak takIIS7 cacheControlMaxAge nie atrybut pracy
<location path="Content/Images">
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
</location>
zgodnie z niniejszym przewodniku: Setting Expires and Cache-Control: max-age headers for static resources in ASP.NET
Jednak narzędzie Google PageSpeed wciąż mówiąc, że pliki nie są buforowane:
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)
Dlaczego jest napisane "nie określono terminu wygaśnięcia"?
Cały webapp jest obsługiwany przez https, czy to jest czynnik?
Czy sprawdziłeś nagłówki http dla image1.png? Możesz to zrobić w narzędziach programistycznych przeglądarki (F12 w przeglądarce Chrome/FF/IE) na karcie sieci. Lub możesz użyć Skrzypka. Wszystkie współczesne przeglądarki buforują elementy za pośrednictwem protokołu HTTPS, jeśli ustawiony jest wiek maksymalny. –
Nagłówki http mówią: "Cache-Control: public", ale bez wzmianki o wygaśnięciu, jaki nagłówek wygaśnięcia zostanie nazwany? –
Rozwiązane: dodanie atrybutów buforowania do 'location path =" Content "' zamiast 'location path =" Content/Images "' naprawiono problem. –