ETags, IIS7, Kernel-Cache Politik (enableKernelCache)
Frage
Zweiteilige Frage (Teile sind eng miteinander verwandt): mit dem Standard OOTB ETag Politik, dass IIS7 beschäftigt, warum wir nicht sehen die If-None-Match / 304 Interaktion, wie wir durch die Seiten navigieren?
Die Header für eine leeren-Cache-Anforderung zurückgegeben, zum Beispiel, sind:
Content-Type image/png
Last-Modified Thu, 03 Dec 2009 15:51:56 GMT
Accept-Ranges bytes
Etag "a8a0628a3074ca1:0"
Server Microsoft-IIS/7.0
X-Powered-By ASP.NET
Date Tue, 22 Dec 2009 19:47:36 GMT
Content-Length 1780
... und noch nachfolgende Zugriffe auf der Seite generieren keinen 304 Round-Trip für das Bild?
Auch der Standard applicationHost Datei für IIS7 hat die folgenden (1):
<caching enabled="true" enableKernelCache="true">
</caching>
Does enableKernelCache = 'true' erstrecken sich auf alle statischen Dateien, Sie von der Notwendigkeit befreien Erweiterungen registrieren explizit auf Erteilung CacheUntilChange als der Kernel Politik (2):
<caching>
<profiles>
<add extension=".gif" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".png" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".js" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".css" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".jpg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".jpeg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
</profiles>
</caching>
(1)% systemroot% \ System32 \ inetsrv \ config \ applicationHost.config