Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwalten Sie, wie lange Inhalte im Cache verbleiben (Ablauf)
Sie können kontrollieren, wie lange Ihre Dateien in einem CloudFront Cache bleiben, bevor Sie CloudFront eine weitere Anfrage an Ihren Ursprung weiterleiten. Eine Reduzierung der Dauer ermöglicht Ihnen, dynamische Inhalte bereitzustellen. Eine Erhöhung der Dauer bedeutet, dass Ihre Benutzer eine bessere Leistung erhalten, da es wahrscheinlicher ist, dass Ihre Dateien direkt vom Edge-Cache bereitgestellt werden. Eine längere Dauer verringert darüber hinaus die Last auf Ihrem Ursprung.
In der Regel CloudFront wird eine Datei von einem Edge-Standort aus bereitgestellt, bis die von Ihnen angegebene Cache-Dauer abgelaufen ist, d. h. bis die Datei abläuft. Wenn der Edge-Standort nach Ablauf das nächste Mal eine Anfrage für die Datei erhält, CloudFront leitet er die Anfrage an den Ursprung weiter, um zu überprüfen, ob der Cache die neueste Version der Datei enthält. Die Antwort vom Ursprung hängt davon ab, ob die Datei geändert wurde:
-
Wenn der CloudFront Cache bereits über die neueste Version verfügt, gibt der Ursprung einen Statuscode
304 Not Modified
zurück. -
Wenn der CloudFront Cache nicht über die neueste Version verfügt, gibt der Ursprung einen Statuscode
200 OK
und die neueste Version der Datei zurück.
Wenn eine Datei an einem Edge-Speicherort nicht häufig angefordert wird, kann es CloudFront sein, dass die Datei entfernt wird, d. h. sie wird vor dem Ablaufdatum entfernt, um Platz für Dateien zu schaffen, die in jüngerer Zeit angefordert wurden.
Standardmäßig läuft jede Datei automatisch nach 24 Stunden ab. Sie können das Standardverhalten jedoch auf zwei Arten ändern:
-
Um die Cachedauer für alle Dateien zu ändern, die demselben Pfadmuster entsprechen, können Sie die CloudFront Einstellungen für Minimum TTLTTL, Maximum und Standard für ein Cache-Verhalten ändern. TTL Informationen zu den einzelnen Einstellungen finden Sie unter Minimum TTLTTL, Maximum und Standard TTL inReferenz zu Verteilungseinstellungen.
-
Um die Cache-Dauer für eine einzelne Datei zu ändern, können Sie Ihren Ursprung so konfigurieren, dass ein
Cache-Control
-Header mit dermax-age
- oders-maxage
-Richtlinie oder einExpires
-Header zu der Datei hinzugefügt wird. Weitere Informationen finden Sie unter Verwenden Sie Header, um die Cache-Dauer für einzelne Objekte zu steuern.
Weitere Informationen darüber, wie Minimum TTLTTL, Standard und Maximum mit den s-maxage
Anweisungen und max-age
und dem Expires
Header-Feld TTL interagieren, finden Sie unterGeben Sie an, wie lange Objekte zwischengespeichert werden CloudFront .
Sie können auch steuern, wie lange Fehler (z. B.404 Not Found
) in einem CloudFront Cache verbleiben, bevor erneut CloudFront versucht wird, das angeforderte Objekt abzurufen, indem Sie eine weitere Anfrage an Ihren Ursprung weiterleiten. Weitere Informationen finden Sie unter Wie CloudFront werden die HTTP 4xx- und 5xx-Statuscodes von Ihrem Absender verarbeitet.
Themen
Verwenden Sie Header, um die Cache-Dauer für einzelne Objekte zu steuern
Sie können die Header Cache-Control
und Expires
verwenden, um zu steuern, wie lange Objekte im Cache zwischengespeichert werden. Die Einstellungen für Minimum TTLTTL, Standard und Maximum wirken sich TTL ebenfalls auf die Cachedauer aus. Im Folgenden finden Sie jedoch eine Übersicht darüber, wie sich Header auf die Cachedauer auswirken können:
-
Mit der
Cache-Control max-age
Direktive können Sie angeben, wie lange (in Sekunden) ein Objekt im Cache verbleiben soll, bevor CloudFront es erneut vom Ursprungsserver abgerufen wird. Die unterstützte Mindestablaufzeit CloudFront beträgt 0 Sekunden. Die Höchstwert beträgt 100 Jahre. Geben Sie den Wert im folgenden Format an:Cache-Control: max-age=
seconds
Die folgende Direktive weist beispielsweise darauf CloudFront hin, dass das zugehörige Objekt 3600 Sekunden (eine Stunde) im Cache aufbewahrt werden soll:
Cache-Control: max-age=3600
Wenn Sie möchten, dass Objekte für eine andere Dauer in CloudFront Edge-Caches verbleiben als in Browser-Caches, können Sie die Direktiven
Cache-Control max-age
undCache-Control s-maxage
zusammen verwenden. Weitere Informationen finden Sie unter Geben Sie an, wie lange Objekte zwischengespeichert werden CloudFront . -
Im
Expires
Header-Feld können Sie ein Ablaufdatum und eine Ablaufzeit in dem in RFC2616, Hypertext Transfer Protocol -- HTTP /1.1 Abschnitt 3.3.1, Vollständiges Datum angegebenen Format angeben,zum Beispiel: Sat, 27 Jun 2015 23:59:59 GMT
Wir empfehlen, die Cache-Control max-age
-Richtlinie anstelle des Expires
-Header-Felds zum Steuern der Zwischenspeicherung von Objekten zu verwenden. Wenn Sie Werte sowohl für als auch für Cache-Control max-age
angebenExpires
, CloudFront verwendet nur den Wert von. Cache-Control max-age
Weitere Informationen finden Sie unter Geben Sie an, wie lange Objekte zwischengespeichert werden CloudFront .
Sie können die Pragma
Header-Felder HTTP Cache-Control
oder in einer GET
Anfrage eines Viewers nicht verwenden, CloudFront um zu erzwingen, für das Objekt zum Ursprungsserver zurückzukehren. CloudFront ignoriert diese Header-Felder in Viewer-Anfragen.
Weitere Informationen zu den Cache-Control
und Expires
Header-Feldern finden Sie in den folgenden Abschnitten in RFC2616, Hypertext Transfer Protocol - - /1.1: HTTP
Veraltete (abgelaufene) Inhalte bereitstellen
CloudFront unterstützt die Steueranweisungen Stale-While-Revalidate
und die Stale-If-Error
Cache-Steueranweisungen.
-
Die
stale-while-revalidate
Direktive ermöglicht CloudFront die Bereitstellung veralteter Inhalte aus dem Cache, während sie asynchron eine neue Version vom Ursprung abruft. Dies verbessert die Latenz, da Benutzer sofort Antworten CloudFront von den Edge-Standorten erhalten, ohne auf den Hintergrundabruf warten zu müssen, und neue Inhalte für future Anfragen im Hintergrund geladen werden.Im folgenden Beispiel wird die Antwort für eine Stunde CloudFront zwischengespeichert ()
max-age=3600
. Wenn nach diesem Zeitraum eine Anfrage gestellt wird, wird der CloudFront veraltete Inhalt bereitgestellt und gleichzeitig eine Anfrage an den Ursprung gesendet, um den zwischengespeicherten Inhalt erneut zu validieren und zu aktualisieren. Der veraltete Inhalt wird bis zu 10 Minuten lang (stale-while-revalidate=600
) bereitgestellt, während der Inhalt erneut validiert wird.Cache-Control: max-age=3600, stale-while-revalidate=600
Anmerkung
CloudFront stellt den veralteten Inhalt bis zum Wert der
stale-while-revalidate
Direktive oder bis zum CloudFront TTL Höchstwert bereit, je nachdem, welcher Wert niedriger ist. -
Die
stale-if-error
Direktive ermöglicht CloudFront die Bereitstellung veralteter Inhalte aus dem Cache, wenn der Ursprung nicht erreichbar ist, oder gibt einen Fehlercode zurück, der zwischen 500 und 600 liegt. Dadurch wird sichergestellt, dass Viewer auch während eines Ausfalls des Ursprungs auf Inhalte zugreifen können.Im folgenden Beispiel wird die Antwort für eine Stunde CloudFront zwischengespeichert ().
max-age=3600
Wenn der Ursprung nicht verfügbar ist oder nach diesem Zeitraum eine Fehlermeldung zurückgibt, CloudFront wird der veraltete Inhalt bis zu 24 Stunden ()stale-if-error=86400
weiterhin bereitgestellt.Cache-Control: max-age=3600, stale-if-error=86400
Anmerkung
CloudFront stellt den veralteten Inhalt bis zum Wert der
stale-if-error
Direktive oder bis zum CloudFront Höchstwert bereit, je nachdemTTL, welcher Wert niedriger ist.Wenn
stale-if-error
sowohl benutzerdefinierte als auch benutzerdefinierte Fehlerantworten konfiguriert sind, wird CloudFront zunächst versucht, den veralteten Inhalt bereitzustellen, falls innerhalb der angegebenen Dauer ein Fehler auftritt.stale-if-error
Wenn veralteter Inhalt nicht verfügbar ist oder der Inhalt diestale-if-error
Dauer überschritten hat, werden die für CloudFront den entsprechenden Fehlerstatuscode konfigurierten benutzerdefinierten Fehlerantworten bereitgestellt.
- Verwenden Sie beide zusammen
-
stale-while-revalidate
undstale-if-error
sind unabhängige Cache-Kontrolldirektiven, die zusammen verwendet werden können, um die Latenz zu reduzieren und einen Puffer hinzuzufügen, damit Ihr Ursprung reagieren oder sich erholen kann.Im folgenden Beispiel wird die Antwort für eine Stunde CloudFront zwischengespeichert (
max-age=3600
). Wenn nach diesem Zeitraum eine Anfrage gestellt wird, wird der CloudFront veraltete Inhalt bis zu 10 Minuten lang (stale-while-revalidate=600
) bereitgestellt, während der Inhalt erneut überprüft wird. Wenn der Ursprungsserver beim CloudFront Versuch, den Inhalt zu revalidieren, einen Fehler zurückgibt, CloudFront wird der veraltete Inhalt bis zu 24 Stunden lang () weiterhin bereitgestellt.stale-if-error=86400
Cache-Control: max-age=3600, stale-while-revalidate=600, stale-if-error=86400
Tipp
Caching stellt ein Gleichgewicht zwischen Leistung und Aktualität her. Die Verwendung von Richtlinien wie stale-while-revalidate
und stale-if-error
kann die Leistung und den Benutzerkomfort verbessern. Achten Sie jedoch darauf, dass die Konfigurationen darauf abgestimmt sind, wie aktuell Ihre Inhalte sein sollen. Richtlinien für veraltete Inhalte eignen sich am besten für Anwendungsfälle, in denen Inhalte aktualisiert werden müssen, die neueste Version jedoch nicht unbedingt erforderlich ist. Wenn sich Ihr Inhalt nicht oder nur selten ändert, kann stale-while-revalidate
außerdem zu unnötigen Netzwerkanforderungen führen. Erwägen Sie stattdessen, eine lange Cachedauer festzulegen.
Geben Sie an, wie lange Objekte zwischengespeichert werden CloudFront
Um zu kontrollieren, wie lange ein Objekt im Cache CloudFront aufbewahrt wird, bevor eine weitere Anfrage an den Ursprung gesendet wird, können Sie:
-
Legen Sie die Mindest-, Höchst- und TTL Standardwerte für das Cache-Verhalten einer CloudFront Distribution fest. Sie können diese Werte in einer Cache-Richtlinie festlegen, die an das Cache-Verhalten (empfohlen) oder in den Legacy-Cache-Einstellungen angehängt ist.
-
Die
Cache-Control
- oderExpires
-Header in Antworten vom Ursprung einschließen. Diese Header helfen auch zu bestimmen, wie lange ein Browser ein Objekt im Browser-Cache aufbewahrt, bevor eine weitere Anfrage an CloudFront gesendet wird.
In der folgenden Tabelle wird erklärt, wie sich die vom Ursprung gesendeten Expires
Header Cache-Control
und die TTL Einstellungen in einem Cache-Verhalten auf das Caching auswirken.
Urspung-Header | Minimum = 0 TTL | Minimum TTL > 0 |
---|---|---|
Der Ursprung fügt dem Objekt eine |
CloudFront Zwischenspeichern CloudFront zwischenspeichert das Objekt für den kleineren Wert der Browser-Caching Browser speichern das Objekt für den Wert der |
CloudFront Zwischenspeichern CloudFront Das Zwischenspeichern hängt von den CloudFront Minimal TTL - und Maximalwerten und der TTL Direktive ab:
Browser-Caching Browser speichern das Objekt für den Wert der |
Der Ursprung fügt dem Objekt keine |
CloudFront Zwischenspeichern CloudFront speichert das Objekt für den Standardwert im Cache. CloudFront TTL Browser-Caching Abhängig vom Browser. |
CloudFront Zwischenspeichern CloudFront speichert das Objekt für den Wert des CloudFront Minimums TTL oder des Standardwerts, je nachdem, welcher Wert größer ist. TTL Browser-Caching Abhängig vom Browser. |
Der Ursprung fügt dem Objekt |
CloudFront Zwischenspeichern CloudFront zwischenspeichert das Objekt für den kleineren Wert der Browser-Caching Browser speichern das Objekt für den Wert der |
CloudFront Zwischenspeichern CloudFront Das Zwischenspeichern hängt von den CloudFront Minimal TTL - und Maximalwerten und der TTL Direktive ab:
Browser-Caching Browser speichern das Objekt für den Wert der |
Der Ursprung fügt dem Objekt einen |
CloudFront Zwischenspeichern CloudFront zwischenspeichert das Objekt bis zu dem Datum in der Browser-Caching Browser speichern das Objekt bis zum Datum im |
CloudFront Zwischenspeichern CloudFront Das Zwischenspeichern hängt von den Werten für CloudFront Minimum TTL TTL und Maximum sowie vom Header ab:
Browser-Caching Browser speichern das Objekt bis zum Datum und der Uhrzeit im |
Der Ursprung fügt Objekten |
CloudFront und Browser respektieren die Header. |
CloudFront Zwischenspeichern CloudFront speichert das Objekt für den Minimalwert im Cache. CloudFront TTL Siehe die Warnung unter dieser Tabelle. Browser-Caching Browser berücksichtigen die Header. |
Warnung
Wenn Ihr Minimum größer als 0 TTL ist, wird das Minimum der Cache-Richtlinie CloudFront verwendetTTL, auch wenn die private
Direktiven Cache-Control: no-cache
no-store
, und/oder in den Origin-Headern vorhanden sind.
Wenn der Ursprung erreichbar ist, CloudFront ruft das Objekt vom Ursprung ab und gibt es an den Viewer zurück.
Wenn der Ursprung nicht erreichbar ist und der Minimal - oder TTL Maximalwert größer als 0 ist, CloudFront wird das Objekt angezeigt, das es zuvor vom Ursprung erhalten hat.
Um dieses Verhalten zu vermeiden, schließen Sie die Cache-Control:
stale-if-error=0
-Richtlinie in das vom Ursprung zurückgegebene Objekt ein. Dies führt CloudFront dazu, dass als Antwort auf future Anfragen ein Fehler zurückgegeben wird, wenn der Ursprung nicht erreichbar ist, anstatt das Objekt zurückzugeben, das es zuvor vom Ursprung erhalten hat.
Informationen zum Ändern der Einstellungen für Distributionen mithilfe der CloudFront Konsole finden Sie unter. Eine Verteilung aktualisieren Informationen zum Ändern der Einstellungen für Distributionen mithilfe der finden Sie CloudFront API unter. UpdateDistribution
Fügen Sie mithilfe der Amazon S3 S3-Konsole Header zu Ihren Objekten hinzu
So fügen Sie mithilfe der Amazon S3-Konsole ein Cache-Control
- oder Expires
-Header-Feld zu Amazon S3-Objekten hinzu
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie in der Liste der Buckets den Namen des Buckets aus, der die Dateien enthält, denen Sie Header hinzufügen.
-
Aktivieren Sie das Kontrollkästchen neben dem Namen der Datei oder des Ordners, zu dem Sie Header hinzufügen möchten. Wenn Sie einem Ordner Header hinzufügen, wirkt sich dies auf alle Dateien in diesem Ordner aus.
-
Wählen Sie Aktionen und dann Metadaten bearbeiten.
-
Führen Sie im Bereich Metadaten hinzufügen die folgenden Schritte aus:
-
Wählen Sie Metadaten hinzufügen aus.
-
Wählen Sie unter Typ die Option Systemdefiniert aus.
-
Wählen Sie für Schlüssel den Namen des Headers aus, den Sie hinzufügen (Cache-Control oder Expires).
-
Geben Sie für Wert einen Header-Wert ein. Zum Beispiel könnten Sie für einen
Cache-Control
-Headermax-age=86400
eingeben. FürExpires
könnten Sie ein Ablaufdatum und eine Uhrzeit wieWed, 30 Jun 2021 09:28:00 GMT
eingeben.
-
-
Wählen Sie unten auf der Seite Metadaten bearbeiten aus.