Berücksichtigt Internet Explorer 7 den Vary-Header durch ordnungsgemäßes Caching?
-
18-09-2019 - |
Frage
Ich verwende eine ähnliche Technik wie Beispiel Rick Strahls, habe das aber mit dem Speedtracer von Google nicht bemerkt
Ressourcen-Caching:@10.88s – Die folgenden Ressourcen geben einen „Vary“-Header an, der das Caching in den meisten Versionen von Internet Explorer deaktiviert.Korrigieren oder entfernen Sie den „Vary“-Header für die folgenden Ressourcen:...
Die Frage ist: Welche Versionen des Internet Explorers?Wird das Problem behoben, wenn ich eine Möglichkeit einbaue, Vary nur für alle Browser außer der frühen Version des Internet Explorers auszugeben?
If AllowsCacheingOnVaryHeader() Then
Response.AppendHeader("Vary", "Content-Encoding")
Response.AppendHeader("Vary", "Accept-Encoding")
End If
Worauf sollte ich in der Funktion „AllowsCacheingOnVaryHeader()“ genau achten?Alle IE-Versionen vor 7, 8 oder 9?
Lösung
Sehen EricLaws für den Hintergrund dazu.
Response.AppendHeader("Vary", "Accept-Encoding")
Sollte in Ordnung sein.Ein aktueller IE6 sollte das ignorieren Vary: Accept-Encoding
.Ich glaube, dass dies bei älteren IE6-SPs nicht der Fall war.
Response.AppendHeader("Vary", "Content-Encoding")
Ich bin mir nicht sicher, wofür das ist. Content-Encoding
ist ein Antwortheader und nicht (normalerweise) ein Anforderungsheader. Wie können Sie das tun? Vary
drauf?Es wird sicherlich den IE zum Stolpern bringen. Können Sie das einfach entfernen und damit fertig sein?
Um die Frage zu beantworten:Nein, IE7 ist immer noch genauso kaputt wie IE6 re Vary
, da es denselben zugrunde liegenden Wininet-Code verwendet.Ich habe es nicht ausprobiert, aber ich gehe davon aus, dass IE8 dasselbe ist.IE7 tut Verhalten sich weniger schlecht, wenn ein ETag bereitgestellt wird (es validiert die Ressource erneut, anstatt sie vollständig erneut abzurufen), aber der grundlegende Fehler bleibt unverändert.