Kontrollieren des Cache-Schlüssels - Amazon CloudFront

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.

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.

Console
So erstellen Sie eine Cache-Richtlinie (Konsole):
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Seite Richtlinien in der - CloudFront Konsole unter https://console.aws.amazon.com/cloudfront/v4/home?#/policies.

  2. Wählen Sie Create cache policy (Cache-Richtlinie erstellen).

  3. Wählen Sie die gewünschte Einstellung für diese Cache-Richtlinie aus. Weitere Informationen finden Sie unter Grundlegendes zu Cache-Richtlinien.

  4. Wenn Sie fertig sind, wählen Sie Erstellen.

Nachdem Sie eine Cache-Richtlinie erstellt haben, können Sie sie an eine Cache-Verhaltensweise anfügen.

So fügen Sie eine Cache-Richtlinie an eine vorhandene Verteilung an (Konsole):
  1. Öffnen Sie die Seite Verteilungen in der - CloudFront Konsole unter https://console.aws.amazon.com/cloudfront/v4/home#/distributions.

  2. Wählen Sie die Verteilung aus, die Sie aktualisieren möchten, und anschließend die Registerkarte Verhaltensweisen aus.

  3. Wählen Sie das Cacheverhalten, das Sie aktualisieren möchten, und anschließend Bearbeiten aus.

    Um ein neues Cacheverhalten zu erstellen, wählen Sie Verhalten erstellen aus.

  4. Stellen Sie im Abschnitt Cache-Schlüssel- und Ursprungsanforderungen sicher, dass Cache-Richtlinie und Ursprungsanforderungsrichtlinie ausgewählt sind.

  5. Wählen Sie für Cache Policy (Cache-Richtlinie) die Cache-Richtlinie aus, die diesem Cache-Verhalten angefügt werden soll.

  6. Wählen Sie unten auf der Seite die Option Änderungen speichern aus.

So fügen Sie eine Cache-Richtlinie an eine neue Verteilung an (Konsole):
  1. Öffnen Sie die - CloudFront Konsole unter https://console.aws.amazon.com/cloudfront/v4/home.

  2. Wählen Sie Verteilung erstellen.

  3. Stellen Sie im Abschnitt Cache-Schlüssel- und Ursprungsanforderungen sicher, dass Cache-Richtlinie und Ursprungsanforderungsrichtlinie ausgewählt sind.

  4. Wählen Sie unter Cache policy (Cache-Richtlinie) die Cache-Richtlinie aus, die an das Standard-Cacheverhalten dieser Verteilung angefügt werden soll.

  5. Wählen Sie die gewünschten Einstellungen für den Ursprung, das Standard-Cacheverhalten und andere Verteilungseinstellungen aus. Weitere Informationen finden Sie unter Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben.

  6. Wenn Sie fertig sind, wählen Sie Verteilung erstellen aus.

CLI

Verwenden Sie den AWS Command Line Interface-Befehl, um eine Cache-Richtlinie mit dem AWS CLI (aws cloudfront create-cache-policy) zu erstellen. Sie können die Eingabeparameter des Befehls in einer Eingabedatei bereitstellen, anstatt jeden einzelnen Parameter als Befehlszeileneingabe anzugeben.

So erstellen Sie eine Cache-Richtlinie (CLI mit Eingabedatei):
  1. Verwenden Sie den folgenden Befehl, um eine Datei mit dem Namen cache-policy.yaml zu erstellen, die alle Eingabeparameter für den create-cache-policy-Befehl enthält.

    aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
  2. Öffnen Sie die Datei mit dem Namen cache-policy.yaml, die Sie gerade erstellt haben. Bearbeiten Sie die Datei, um die gewünschten Cache-Richtlinieneinstellungen anzugeben, und speichern Sie die Datei. Sie können optionale Felder aus der Datei entfernen, erforderliche Felder dürfen jedoch nicht entfernt werden.

    Weitere Informationen zu den Cache-Richtlinieneinstellungen finden Sie unter Grundlegendes zu Cache-Richtlinien.

  3. Verwenden Sie den folgenden Befehl, um die Cache-Richtlinie mit Eingabeparametern aus der cache-policy.yaml-Datei zu erstellen.

    aws cloudfront create-cache-policy --cli-input-yaml file://cache-policy.yaml

    Notieren Sie den Id-Wert in der Ausgabe des Befehls. Dies ist die Cache-Richtlinien-ID, die Sie benötigen, um die Cache-Richtlinie an das Cache-Verhalten einer CloudFront Verteilung anzuhängen.

So fügen Sie eine Cache-Richtlinie an eine vorhandene Verteilung an (CLI mit Eingabedatei):
  1. Verwenden Sie den folgenden Befehl, um die Verteilungskonfiguration für die CloudFront Verteilung zu speichern, die Sie aktualisieren möchten. Ersetzen Sie distribution_ID durch die ID der Verteilung.

    aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
  2. Öffnen Sie die Datei mit dem Namen dist-config.yaml, die Sie gerade erstellt haben. Bearbeiten Sie die Datei, indem Sie die folgenden Änderungen an jeder Cache-Verhaltensweise vornehmen, die Sie aktualisieren, um eine Cache-Richtlinie zu verwenden.

    • Fügen Sie in der Cache-Verhaltensweise ein Feld mit dem Namen CachePolicyId hinzu. Verwenden Sie für den Wert des Feldes die Cache-Richtlinien-ID, die Sie nach dem Erstellen der Richtlinie notiert haben.

    • Entfernen Sie die Felder MinTTL, MaxTTL, DefaultTTL und ForwardedValues aus der Cache-Verhaltensweise. Diese Einstellungen werden in der Cache-Richtlinie angegeben, somit können Sie diese Felder und eine Cache-Richtlinie nicht in dasselbe Cache-Verhalten einschließen.

    • Benennen Sie das Feld ETag in IfMatch um, ändern Sie jedoch nicht den Wert des Feldes.

    Speichern Sie die Datei, wenn Sie fertig sind.

  3. Verwenden Sie den folgenden Befehl, um die Verteilung so zu aktualisieren, dass die Cache-Richtlinie verwendet wird. Ersetzen Sie distribution_ID durch die ID der Verteilung.

    aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
So fügen Sie eine Cache-Richtlinie an eine neue Verteilung an (CLI mit Eingabedatei):
  1. Verwenden Sie den folgenden Befehl, um eine Datei mit dem Namen distribution.yaml zu erstellen, die alle Eingabeparameter für den create-distribution-Befehl enthält.

    aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
  2. Öffnen Sie die Datei mit dem Namen distribution.yaml, die Sie gerade erstellt haben. Geben Sie im Standard-Cacheverhalten in das CachePolicyId-Feld die Cache-Richtlinien-ID ein, die Sie nach dem Erstellen der Richtlinie notiert haben. Fahren Sie mit der Bearbeitung der Datei fort, um die gewünschten Verteilungseinstellungen anzugeben, und speichern Sie die Datei, wenn Sie fertig sind.

    Weitere Informationen zu den Verteilungseinstellungen finden Sie unter Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben.

  3. Verwenden Sie den folgenden Befehl, um die Verteilung mit Eingabeparametern aus der Datei distribution.yaml zu erstellen.

    aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
API

Um eine Cache CloudFront -Richtlinie mit der API zu erstellen, verwenden Sie CreateCachePolicy. Weitere Informationen zu den Feldern, die Sie in diesem API-Aufruf angeben, finden Sie unter Grundlegendes zu Cache-Richtlinien und in der API-Referenzdokumentation für Ihr AWS-SDK oder einen anderen API-Client.

Nachdem Sie eine Cache-Richtlinie erstellt haben, können Sie sie mit einem der folgenden API-Aufrufe an eine Cache-Verhaltensweise anfügen:

  • Um es an ein Cache-Verhalten in einer vorhandenen Verteilung anzuhängen, verwenden Sie UpdateDistribution.

  • Um sie an ein Cache-Verhalten in einer neuen Verteilung anzuhängen, verwenden Sie CreateDistribution.

Geben Sie für beide API-Aufrufe die ID der Cache-Richtlinie im Feld CachePolicyId innerhalb eines Cache-Verhaltens an. Weitere Informationen zu den anderen Feldern, die Sie in diesen API-Aufrufen angeben, finden Sie unter Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben und in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.

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 -ExpiresHeader 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 -ExpiresHeader 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 als Accept-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.

Cookies

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 als session_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 als split-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 mit gzip als Wert). Verwenden Sie in diesem Fall die Einstellung Gzip aktiviert (truein der CloudFront API, den AWS SDKsAWS CLI , oder EnableAcceptEncodingGzip auf festgelegtAWS CloudFormation).

  • Ihr Ursprung gibt mit Brotli komprimierte Objekte zurück, wenn Viewer diese unterstützen (Anforderungen enthalten den Accept-Encoding-HTTP-Header mit br als Wert). Verwenden Sie in diesem Fall die Brotli-fähige Einstellung (truein der CloudFront API, den AWS -SDKs AWS CLI, oder EnableAcceptEncodingBrotli 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-EncodingHeader 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ßen Accept-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 den Accept-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 Werte gzip und beide im Accept-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 gesendeten Accept-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 gesendeten Accept-Encoding-Header befanden.

Wenn der Viewer ein Komprimierungsformat, aber nicht das andere unterstützt, z. B. wenn ein Wert im -Accept-EncodingHeader in der Viewer-Anforderung gzip ist, aber br 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 gesendeten Accept-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 gesendeten Accept-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-EncodingHeader in der Viewer-Anforderung nicht br oder gzip 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 gesendeten Accept-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-EncodingHeader 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 gesendeten Accept-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ält gzip und br 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 gesendeten Accept-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.