Ben Maurer & Nate Schloss
Die Schaltfläche "Aktualisieren" des Browsers dient dazu, dem Benutzer eine aktualisierte Version der aktuellen Seite zu liefern. Um dieses Ziel zu erreichen, validieren Browser beim Aktualisieren die Seite, auf der Sie sich gerade befinden, erneut, auch wenn diese Seite noch nicht abgelaufen ist. Sie gehen jedoch noch einen Schritt weiter und validieren alle Unterressourcen der Seite – wie Bilder und JavaScript-Dateien – erneut.
Selbst wenn Sie ordnungsgemäße Ablauf-Header für Ressourcen festgelegt haben, erfordert das Betätigen der Schaltfläche "Aktualisieren" (die Leute bei Facebook sicherlich sehr oft nutzen) dennoch Server-Roundtrips, um Assets erneut zu validieren (manchmal).
Sie haben mit Chrome zusammengearbeitet
Nach der Behebung dieses Problems ging Chrome von 63 % bedingter Anfragen auf 24 % bedingte Anfragen zurück.
Und Firefox
Firefox implementierte einen Vorschlag eines unserer Ingenieure, einen neuen Cache-Control-Header für einige Ressourcen hinzuzufügen, um dem Browser mitzuteilen, dass diese Ressource niemals erneut validiert werden sollte.
Wenn Sie also URLs für Assets verwenden, die sich *niemals* ändern (wenn sie sich ändern, werden sie unter einer neuen URL zu finden sein), profitieren Sie in Chrome automatisch, und in Firefox sollten Sie deren neuen Header verwenden.