IE 9+ ignoriert die Änderung des ETag-Werts und gibt die zwischengespeicherte Antwort zurück

10

Das Etag lieferte eine Cache-Validierung, die gut mit FF & amp funktioniert; chrome, aber IE scheint den Etag-Wert zu ignorieren und gibt immer die zwischengespeicherte Antwort zurück.

Die Serverantwort lautet:

%Vor%

wenn der Client eine bedingte get-Anforderung sendet

%Vor%

Die Anforderung wird überhaupt nicht gesendet, und IE gibt die zwischengespeicherte Antwort zurück. Es ist transparent, wenn der ETag-Wert derselbe ist, aber ein Problem, wenn ETag anders ist.

Die einzige Lösung, die für mich funktionierte, war das Hinzufügen von Header

%Vor%

Ich überwachte das Netzwerk und zwingt IE, den ETag-Wert zu validieren.
Problem ist gelöst!
Ich habe jedoch keine offizielle Lösung für dieses Problem gefunden. Ich habe den Beitrag IE zum Zwischenspeichern von Ressourcen verwenden, aber immer wieder validieren als Referenz, aber die meisten Informationen waren für mein Problem irrelevant.

Wenn Sie eine andere Idee haben oder beraten, teilen Sie bitte

    
Yaniv Levi 07.07.2014, 07:16
quelle

1 Antwort

0

Internet Explorer verwendet einige Heuristiken zum Zwischenspeichern von Antworten. Weitere Informationen finden Sie unter Caching-Verbesserungen in Internet Explorer 9 im Abschnitt heuristische Cache-Verbesserungen :

  

Wenn ein Last-Modified-Header in der Antwort des Servers nicht vorhanden war,   dann wird der Internet Explorer auf "Einmal pro Browser" zurückgreifen   Session "Revalidierungsverhalten.

und:

  

Wenn die Antwort eine Last-Modified-Zeit hat, die Heuristik   Ablaufwert sollte nicht mehr als ein Bruchteil des Intervalls sein   seit dieser Zeit. Eine typische Einstellung für diesen Bruch könnte 10% sein.

Sie möchten diese Heuristiken umgehen und den IE zwingen, den Inhalt mit dem Server erneut zu validieren. Überprüfen Sie dazu IE, Ressourcen zu cachen, aber immer erneut zu validieren und seine Antwort. Die Schlüsselüberschriften scheinen zu sein:

%Vor%

Bonus: Bitte lesen Sie auch den Abschnitt über die Vary Verbesserungen im früheren Link:

  

Wenn eine Antwort eine Vary-Direktive enthält, die einen anderen Header angibt   als Accept-Encoding, Host oder User-Agent (oder eine beliebige Kombination von   diese) dann cache der Internet Explorer die Antwort noch, wenn der   Antwort enthält einen ETAG-Header. Diese Antwort wird jedoch sein   behandelt als veraltet und eine bedingte HTTP-Anfrage wird vorher gemacht werden   Wiederverwendung, um festzustellen, ob die zwischengespeicherte Kopie gültig ist.

Es wird zwar nicht gesagt, was passiert, wenn kein Vary -Header angegeben wurde, aber es lohnt sich, mit diesem Wert zu spielen (siehe diesen Beitrag) )

    
Gyum Fox 01.09.2017 10:05
quelle

Tags und Links