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.
Kontrollieren des Cache-Schlüssels
Mit Amazon können CloudFrontSie den Cache-Schlüssel für Objekte steuern, die an CloudFront Edge-Standorten zwischengespeichert werden. Der Cache-Schlüssel ist der eindeutige Bezeichner für jedes Objekt im Cache und bestimmt, ob eine Viewer-Anforderung zu einem Cache-Treffer führt. Zu einem Cache-Treffer kommt es, wenn eine Viewer-Anforderung denselben Cache-Schlüssel wie eine vorherige Anforderung generiert und das Objekt für diesen Cache-Schlüssel im Cache des Edge-Standorts vorhanden und gültig ist. Bei einem Cache-Treffer wird das Objekt dem Viewer von einem CloudFront Edge-Standort aus bereitgestellt, was die folgenden Vorteile hat:
-
Geringere Auslastung Ihres Ursprungs-Servers
-
Reduzierte Latenz für den Viewer
Sie können eine bessere Leistung für Ihre Website oder Anwendung erzielen, wenn Sie eine höhere Cache-Trefferquote haben (ein höherer Anteil an Viewer-Anforderungen, die zu einem Cache-Treffer führen). Eine Möglichkeit, die Cache-Trefferquote zu verbessern, besteht darin, nur die minimal notwendigen Werte in den Cache-Schlüssel aufzunehmen. Weitere Informationen finden Sie unter Grundlegendes zum Cache-Schlüssel.
Um den Cache-Schlüssel zu steuern, verwenden Sie eine CloudFront Cache-Richtlinie . Sie fügen eine Cache-Richtlinie an eine oder mehrere Cache-Verhaltensweisen in einer CloudFront Verteilung an.
Themen
Erstellen von Cache-Richtlinien
Sie können eine Cache-Richtlinie verwenden, um das Cache-Trefferverhältnis zu verbessern, indem Sie die Werte (URL-Abfragezeichenfolgen, HTTP-Header und Cookies) steuern, die im Cache-Schlüssel enthalten sind. Sie können eine Cache-Richtlinie in der - CloudFront Konsole, mit der AWS Command Line Interface (AWS CLI) oder mit der CloudFront -API erstellen.
Nachdem Sie eine Cache-Richtlinie erstellt haben, fügen Sie sie einer oder mehreren Cache-Verhaltensweisen in einer CloudFront -Verteilung an.
Grundlegendes zu Cache-Richtlinien
Sie können eine Cache-Richtlinie verwenden, um das Cache-Trefferverhältnis zu verbessern, indem Sie die Werte (URL-Abfragezeichenfolgen, HTTP-Header und Cookies) kontrollieren, die im Cache-Schlüssel enthalten sind. CloudFront enthält einige vordefinierte Cache-Richtlinien für häufige Anwendungsfälle, die als verwaltete Richtlinien bezeichnet werden. Sie können diese verwalteten Richtlinien verwenden oder eine eigene Cache-Richtlinie erstellen, die speziell auf Ihre Anforderungen zugeschnitten ist. Weitere Informationen zu verwalteten Richtlinien finden Sie unter Verwenden der verwalteten Cache-Richtlinien.
Eine Cache-Richtlinie enthält die folgenden Einstellungen, die in Richtlinieninformationen, Einstellungen für Time to Live (TTL, Gültigkeitsdauer der Verbindung) und Cache-Schlüssel-Einstellungen unterteilt sind.
Richtlinieninformationen
- Name
-
Ein Name zur Identifizierung der Cache-Richtlinie. Verwenden Sie den Namen in der Konsole, um die Cache-Richtlinie einem Cache-Verhalten anzufügen.
- Beschreibung
-
Ein Kommentar zur Beschreibung der Cache-Richtlinie. Dies ist optional, kann Ihnen jedoch helfen, den Zweck der Cache-Richtlinie zu identifizieren.
Einstellungen für Time to Live (TTL, Gültigkeitsdauer der Verbindung)
Die TTL-Einstellungen (Time to Live) arbeiten mit den Expires
HTTP-Headern Cache-Control
und (falls sie sich in der Ursprungsantwort befinden) zusammen, um zu bestimmen, wie lange Objekte im CloudFront Cache gültig bleiben.
- Mindest-TTL
-
Die Mindestzeit in Sekunden, die Objekte im CloudFront Cache bleiben sollen, bevor mit dem Ursprung CloudFront prüft, ob das Objekt aktualisiert wurde. Weitere Informationen finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf).
- Höchst-TTL
-
Die maximale Zeit in Sekunden, die Objekte im CloudFront Cache verbleiben, bevor mit dem Ursprung CloudFront prüft, ob das Objekt aktualisiert wurde. CloudFront verwendet diese Einstellung nur, wenn der Ursprung -
Cache-Control
oder -Expires
Header mit dem Objekt sendet. Weitere Informationen finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf). - Standard-TTL
-
Die Standardzeit in Sekunden, die Objekte im CloudFront Cache bleiben sollen, bevor mit dem Ursprung CloudFront prüft, ob das Objekt aktualisiert wurde. CloudFront verwendet den Wert dieser Einstellung nur dann als TTL des Objekts, wenn der Ursprung keine -
Cache-Control
oder -Expires
Header mit dem Objekt sendet. Weitere Informationen finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf).
Anmerkung
Wenn die Einstellungen Minimum TTL , Maximum TTL und Default TTL alle auf 0 gesetzt sind, wird das CloudFront Caching deaktiviert.
Cache-Schlüssel-Einstellungen
Die Cache-Schlüsseleinstellungen geben die Werte in Viewer-Anforderungen an, die im Cache-Schlüssel CloudFront einschließt. Bei den Werten kann es sich um URL-Abfragezeichenfolgen, HTTP-Header und Cookies handeln. Die Werte, die Sie in den Cache-Schlüssel einschließen, werden automatisch in Anforderungen aufgenommen, die CloudFront an den Ursprung sendet. Diese werden als Ursprungsanforderungen bezeichnet. Informationen zum Kontrollieren von Ursprungsanforderungen ohne Auswirkungen auf den Cache-Schlüssel finden Sie unter Steuern von Ursprungsanforderungen.
Zu den Cache-Schlüssel-Einstellungen gehören:
- Header
-
Die HTTP-Header in Viewer-Anforderungen, die in den Cache-Schlüssel und in Ursprungsanforderungen CloudFront einschließt. Sie können für Header eine der folgenden Einstellungen auswählen:
-
None (Keine) – Die HTTP-Header in Viewer-Anforderungen sind nicht im Cache-Schlüssel enthalten und werden nicht automatisch in Ursprungsanforderungen eingeschlossen.
-
Folgende Header einschließen – Sie geben an, welche der HTTP-Header in Viewer-Anforderungen im Cache-Schlüssel enthalten sind und automatisch in Ursprungsanforderungen eingeschlossen werden.
Wenn Sie die Einstellung Folgende Header einschließen verwenden, geben Sie HTTP-Header nach ihrem Namen und nicht nach ihrem Wert an. Betrachten Sie beispielsweise den folgenden HTTP-Header:
Accept-Language: en-US,en;q=0.5
In diesem Fall geben Sie den Header als
Accept-Language
an, nicht alsAccept-Language: en-US,en;q=0.5
an. CloudFront enthält jedoch den vollständigen Header, einschließlich seines Wertes, im Cache-Schlüssel und in Ursprungsanforderungen.Sie können auch bestimmte Header, die von generiert wurden, CloudFront in den Cache-Schlüssel aufnehmen. Weitere Informationen finden Sie unter Hinzufügen von CloudFront Anforderungs-Headern.
-
-
Die Cookies in Viewer-Anforderungen, die im Cache-Schlüssel und in Ursprungsanforderungen CloudFront enthält. Für Cookies können Sie eine der folgenden Einstellungen auswählen:
-
None (Keine) – Die Cookies in Viewer-Anforderungen sind nicht im Cache-Schlüssel enthalten und werden nicht automatisch in Ursprungsanforderungen aufgenommen.
-
All (Alle) – Alle Cookies in Viewer-Anforderungen sind im Cache-Schlüssel enthalten und werden automatisch in Ursprungsanforderungen aufgenommen.
-
Angegebene Cookies einschließen – Sie geben an, welche der Cookies in Viewer-Anforderungen im Cache-Schlüssel enthalten sind und automatisch in Ursprungsanforderungen eingeschlossen werden.
-
Alle Cookies einschließen außer – Sie geben an, welche der Cookies in Viewer-Anforderungen nicht im Cache-Schlüssel enthalten sind und nicht automatisch in Ursprungsanforderungen enthalten sind. Alle anderen Cookies, mit Ausnahme der von ihnen angegebenen, sind im Cache-Schlüssel und automatisch in Ursprungsanforderungen enthalten.
Wenn Sie die Einstellung Angegebene Cookies einschließen oder Alle Cookies einschließen außer verwenden verwenden, geben Sie Cookies nach ihrem Namen und nicht nach ihrem Wert an. Betrachten Sie beispielsweise den folgenden
Cookie
-Header:Cookie: session_ID=abcd1234
In diesem Fall geben Sie das Cookie als
session_ID
, nicht alssession_ID=abcd1234
an. CloudFront Enthält jedoch das vollständige Cookie, einschließlich seines Werts, im Cache-Schlüssel und in Ursprungsanforderungen. -
- Abfragezeichenfolgen
-
Die URL-Abfragezeichenfolgen in Viewer-Anforderungen, die in den Cache-Schlüssel und in Ursprungsanforderungen CloudFront einschließt. Für Abfragezeichenfolgen können Sie eine der folgenden Einstellungen auswählen:
-
None (Keine) – Abfragezeichenfolgen in Viewer-Anforderungen sind nicht im Cache-Schlüssel enthalten und sind nicht automatisch in Ursprungsanforderungen enthalten.
-
All (Alle) – Alle Abfragezeichenfolgen in Viewer-Anforderungen sind im Cache-Schlüssel enthalten und sind auch automatisch in Ursprungsanforderungen enthalten.
-
Angegebene Abfragezeichenfolgen einschließne – Sie geben an, welche der Abfragezeichenfolgen in Viewer-Anforderungen im Cache-Schlüssel enthalten sind und automatisch in Ursprungsanforderungen eingeschlossen werden.
-
Alle Abfragezeichenfolgen einschließen außer – Sie geben an, welche der Abfragezeichenfolgen in Viewer-Anforderungen nicht im Cache-Schlüssel enthalten sind und nicht automatisch in Ursprungsanforderungen eingeschlossen werden. Alle anderen Abfragezeichenfolgen außer denen, die Sie angegeben haben, sind im Cache-Schlüssel und automatisch in Ursprungsanforderungen enthalten.
Wenn Sie die Einstellung Angegebene Abfragezeichenfolgen einschließen oder Alle Abfragezeichenfolgen einschließen außer verwenden, geben Sie Abfragezeichenfolgen nach ihrem Namen und nicht nach ihrem Wert an. Betrachten Sie beispielsweise den folgenden URL-Pfad:
/content/stories/example-story.html?split-pages=false
In diesem Fall geben Sie die Abfragezeichenfolge als
split-pages
, nicht alssplit-pages=false
an. CloudFront Enthält jedoch die vollständige Abfragezeichenfolge, einschließlich ihres Werts, im Cache-Schlüssel und in Ursprungsanforderungen. -
- Komprimierungsunterstützung
-
Diese Einstellungen ermöglichen CloudFront es , Objekte anzufordern und zwischenzuspeichern, die im Gzip- oder Brotli-Komprimierungsformat komprimiert sind, wenn der Viewer dies unterstützt. Diese Einstellungen ermöglichen auch die Funktion der CloudFront -Komprimierung . Viewer geben ihre Unterstützung für diese Komprimierungsformate mit dem
Accept-Encoding
-HTTP-Header an.Anmerkung
Die Webbrowser Chrome und Firefox unterstützen die Brotli-Komprimierung nur, wenn die Anforderung über HTTPS gesendet wird. Diese Browser unterstützen Brotli mit HTTP-Anforderungen nicht.
Aktivieren Sie diese Einstellungen, wenn eine der folgenden Bedingungen zutrifft:
-
Ihr Ursprung gibt mit Gzip komprimierte Objekte zurück, wenn Viewer diese unterstützen (Anforderungen enthalten den
Accept-Encoding
-HTTP-Header mitgzip
als Wert). Verwenden Sie in diesem Fall die Einstellung Gzip aktiviert (true
in der CloudFront API, den AWS SDKsAWS CLI , oderEnableAcceptEncodingGzip
auf festgelegtAWS CloudFormation). -
Ihr Ursprung gibt mit Brotli komprimierte Objekte zurück, wenn Viewer diese unterstützen (Anforderungen enthalten den
Accept-Encoding
-HTTP-Header mitbr
als Wert). Verwenden Sie in diesem Fall die Brotli-fähige Einstellung (true
in der CloudFront API, den AWS -SDKs AWS CLI, oderEnableAcceptEncodingBrotli
auf festgelegtAWS CloudFormation). -
Die Cache-Verhaltensweise, der diese Cache-Richtlinie angefügt ist, ist mit CloudFront-Komprimierung konfiguriert. In diesem Fall können Sie die Zwischenspeicherung für Gzip oder Brotli oder beides aktivieren. Wenn die CloudFront Komprimierung aktiviert ist, kann die Aktivierung der Zwischenspeicherung für beide Formate dazu beitragen, Ihre Kosten für die Datenübertragung ins Internet zu senken.
Anmerkung
Wenn Sie das Caching für eines oder beide dieser Komprimierungsformate aktivieren, schließen Sie den -
Accept-Encoding
Header nicht in eine Ursprungsanforderungsrichtlinie ein, die demselben Cache-Verhalten zugeordnet ist. CloudFront schließt diesen Header immer in Ursprungsanforderungen ein, wenn das Caching für eines dieser Formate aktiviert ist. Daher hat das EinschließenAccept-Encoding
in eine Ursprungsanforderungsrichtlinie keine Auswirkungen.Wenn Ihr Ursprungs-Server keine mit Gzip oder Brotli komprimierten Objekte zurückgibt oder das Cache-Verhalten nicht mit CloudFront Komprimierung konfiguriert ist, aktivieren Sie kein Caching für komprimierte Objekte. Wenn Sie dies dennoch tun, kann dies zu einer Verringerung der Cache-Trefferquote führen.
Im Folgenden wird erläutert, wie sich diese Einstellungen auf eine CloudFront Verteilung auswirken. In allen folgenden Szenarien wird davon ausgegangen, dass die Viewer-Anforderung den
Accept-Encoding
-Header enthält. Wenn die Viewer-Anforderung denAccept-Encoding
Header nicht enthält, schließt diesen Header CloudFront nicht in den Cache-Schlüssel ein und schließt ihn nicht in die entsprechende Ursprungsanforderung ein.- Wenn das Zwischenspeichern komprimierter Objekte für beide Komprimierungsformate aktiviert ist
-
Wenn der Viewer sowohl Gzip als auch Brotli unterstützt, d. h. wenn sich die
br
Wertegzip
und beide imAccept-Encoding
-Header in der Viewer-Anforderung befinden, CloudFront führt Folgendes aus:-
Sie normalisiert den Header zu
Accept-Encoding: br,gzip
und schließt den normalisierten Header in den Cache-Schlüssel ein. Der Cache-Schlüssel enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden. -
Wenn der Edge-Standort ein mit Brotli oder Gzip komprimiertes Objekt im Cache enthält, das der Anforderung entspricht und nicht abgelaufen ist, gibt der Edge-Standort das Objekt an den Viewer zurück.
-
Wenn der Edge-Standort kein mit Brotli oder Gzip komprimiertes Objekt im Cache hat, das der Anforderung entspricht und nicht abgelaufen ist, CloudFront schließt den normalisierten Header (
Accept-Encoding: br,gzip
) in die entsprechende Ursprungsanforderung ein. Die Ursprungsanforderung enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden.
Wenn der Viewer ein Komprimierungsformat, aber nicht das andere unterstützt, z. B. wenn ein Wert im -
Accept-Encoding
Header in der Viewer-Anforderunggzip
ist, aberbr
nicht, CloudFront führt Folgendes aus:-
Sie normalisiert den Header zu
Accept-Encoding: gzip
und schließt den normalisierten Header in den Cache-Schlüssel ein. Der Cache-Schlüssel enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden. -
Wenn der Edge-Standort ein mit Gzip komprimiertes Objekt im Cache enthält, das der Anforderung entspricht und nicht abgelaufen ist, gibt der Edge-Standort das Objekt an den Viewer zurück.
-
Wenn der Edge-Standort kein mit Gzip komprimiertes Objekt im Cache hat, das der Anforderung entspricht und nicht abgelaufen ist, CloudFront schließt den normalisierten Header (
Accept-Encoding: gzip
) in die entsprechende Ursprungsanforderung ein. Die Ursprungsanforderung enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden.
Um zu verstehen, was CloudFront tut, wenn der Viewer Brotli, aber nicht Gzip unterstützt, ersetzen Sie die beiden Komprimierungsformate im vorherigen Beispiel gegeneinander.
Wenn der Viewer Brotli oder Gzip nicht unterstützt, d. h. der -
Accept-Encoding
Header in der Viewer-Anforderung nichtbr
odergzip
als Werte enthält, gilt FolgendesCloudFront:-
Schließt den
Accept-Encoding
-Header nicht in den Cache-Schlüssel ein. -
Schließt
Accept-Encoding: identity
in die entsprechende Ursprungsanforderung ein. Die Ursprungsanforderung enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden.
-
- Wenn die Zwischenspeicherung komprimierter Objekte für ein Komprimierungsformat aktiviert ist, aber nicht für das andere
-
Wenn der Viewer das Format unterstützt, für das das Caching aktiviert ist, z. B. wenn das Zwischenspeichern komprimierter Objekte für Gzip aktiviert ist und der Viewer Gzip unterstützt (
gzip
ist einer der Werte im -Accept-Encoding
Header in der Viewer-Anforderung), CloudFront führt Folgendes aus:-
Sie normalisiert den Header zu
Accept-Encoding: gzip
und schließt den normalisierten Header in den Cache-Schlüssel ein. -
Wenn der Edge-Standort ein mit Gzip komprimiertes Objekt im Cache enthält, das der Anforderung entspricht und nicht abgelaufen ist, gibt der Edge-Standort das Objekt an den Viewer zurück.
-
Wenn der Edge-Standort kein mit Gzip komprimiertes Objekt im Cache hat, das der Anforderung entspricht und nicht abgelaufen ist, CloudFront schließt den normalisierten Header (
Accept-Encoding: gzip
) in die entsprechende Ursprungsanforderung ein. Die Ursprungsanforderung enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden.
Dieses Verhalten ist identisch, wenn der Viewer sowohl Gzip als auch Brotli unterstützt (der
Accept-Encoding
-Header in der Viewer-Anforderung enthältgzip
undbr
als Werte), da in diesem Szenario das Zwischenspeichern komprimierter Objekte für Brotli nicht aktiviert ist.Um zu verstehen, was CloudFront tut, wenn das Zwischenspeichern komprimierter Objekte für Brotli, aber nicht für Gzip aktiviert ist, ersetzen Sie die beiden Komprimierungsformate im vorherigen Beispiel gegeneinander.
Wenn der Viewer das Komprimierungsformat, für das das Caching aktiviert ist, nicht unterstützt (der
Accept-Encoding
Header in der Viewer-Anforderung enthält nicht den Wert für dieses Format), CloudFront:-
Schließt den
Accept-Encoding
-Header nicht in den Cache-Schlüssel ein. -
Schließt
Accept-Encoding: identity
in die entsprechende Ursprungsanforderung ein. Die Ursprungsanforderung enthält keine anderen Werte, die sich in dem vom Viewer gesendetenAccept-Encoding
-Header befanden.
-
- Wenn das Zwischenspeichern komprimierter Objekte für beide Komprimierungsformate deaktiviert ist
-
Wenn das Zwischenspeichern komprimierter Objekte für beide Komprimierungsformate deaktiviert ist, CloudFront erstellt den
Accept-Encoding
Header genau so wie jeder andere HTTP-Header in der Viewer-Anforderung. Standardmäßig ist dieser nicht im Cache-Schlüssel und nicht in Ursprungsanforderungen enthalten. Sie können diesen wie jeden anderen HTTP-Header in eine Cache-Richtlinie oder eine Ursprungsanforderungsrichtlinie in die Header-Liste einfügen.
-