Was ist der Unterschied zwischen Expires
und Cache-Control
Headern?
quelle
Was ist der Unterschied zwischen Expires
und Cache-Control
Headern?
Cache-Control
wurde in HTTP / 1.1 eingeführt und bietet mehr Optionen als Expires
. Sie können verwendet werden, um dasselbe zu erreichen, aber der Datenwert für Expires
ist ein HTTP-Datum, während Sie bei Cache-Control
max-age eine relative Zeitspanne angeben können, sodass Sie "X Stunden nach Anforderung der Seite" angeben können.
Das HTML-Cache-Steuerelement ist eine sehr ähnliche Frage und enthält einen guten Link zu einem Caching-Tutorial, das die meisten Ihrer Fragen beantworten sollte (z . B. http://www.mnot.net/cache_docs/#EXPIRES ). Zusammenfassend Expires
wird dies jedoch für statische Ressourcen wie Bilder empfohlen und Cache-Control
wenn Sie mehr Kontrolle darüber benötigen, wie das Caching durchgeführt wird.
Wenn Sie ein CDN (Cloud Delivery Network) verwenden, empfehle ich die Verwendung von Cache-Control mit einer maximalen Alterszeit in Sekunden. Zum Beispiel Cache-Control: max-age = 604800. Dies verhindert Anforderungsspitzen an Ihrem Ursprungsserver: Mit "Läuft am Mittwoch, 30. Oktober 20xx 04:37:07 GMT ab" werden Sie von allen Browsern gleichzeitig angefordert.
quelle
cache-control
. Ich verstehe also nicht, warum es bei Verwendung Anfragen geben würdeExpires:
Laut diesem Artikel von Google Developers wird HTTP-Caching :
quelle
Die Cache-Steuerung wurde in HTTP / 1.1 definiert und teilt allen Caching-Mechanismen vom Server zum Client mit, ob sie dieses Objekt zwischenspeichern dürfen. Es wird in Sekunden gemessen :
Cache-Control: max-age=3600
.Das
Expires
Header-Feld gibt das Datum / die Uhrzeit an, nach der die Antwort als veraltet gilt. Der Expires-Wert ist ein HTTP-Datumszeitstempel :Expires: Tue, 18 Jul 2017 16:07:23 GMT
.Wenn eine Antwort ein
Cache-Control
Feld mit dermax-age
Direktive enthält, MUSS ein Empfänger dasExpires
Feld ignorieren .quelle
Heroku Devcenter hat einen ausgezeichneten Artikel zu diesem Thema.
Zitiert daraus,
quelle
Mit Ausnahme der privaten / öffentlichen Optionen von CC sehe ich keinen Unterschied. Bei Verwendung von Expires wie "Zugriff plus 1 Jahr / Monat / Woche / Tag" funktioniert dies genauso wie bei CC.
quelle
Wenn Sie immer noch interessiert sind, lasse ich diese Empfehlung direkt von Googles Jungs. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching Sie bevorzugen Expires before als Cache-Control
quelle