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.
Zwischenspeichern von Inhalten auf der Grundlage von Anforderungsheadern
Mit können Sie wählen CloudFront, ob Sie Header CloudFront an Ihren Ursprung weiterleiten und separate Versionen eines bestimmten Objekts auf der Grundlage der Header-Werte in Viewer-Anfragen zwischenspeichern möchten. Auf diese Weise können Sie verschiedene Versionen Ihrer Inhalte bereitstellen, basierend auf dem Gerät, das der Benutzer verwendet, dem Standort des Betrachters, der Sprache, die der Zuschauer verwendet, und einer Vielzahl anderer Kriterien.
Themen
Auswählen der Header, auf denen die Zwischenspeicherung basieren soll
Konfigurieren Sie so CloudFront , dass die CORS-Einstellungen berücksichtigt werden
Konfigurieren der Zwischenspeicherung basierend auf dem Gerätetyp
Konfigurieren der Zwischenspeicherung basierend auf der Sprache des Viewers
Konfigurieren der Zwischenspeicherung basierend auf dem Standort des Viewers
Konfigurieren der Zwischenspeicherung basierend auf dem Protokoll der Anforderung
Konfigurieren der Zwischenspeicherung für komprimierte Dateien
Auswirkungen der Zwischenspeicherung auf der Grundlage von Headern auf die Leistung
Auswirkungen der Schreibweise von Headern und Header-Werten auf die Zwischenspeicherung
Header und Verteilungen – Übersicht
Überschriften werden standardmäßig CloudFront nicht berücksichtigt, wenn Sie Ihre Objekte an Randpositionen zwischenspeichern. Wenn Ihr Ursprung zwei Objekte zurückgibt und sie sich nur durch die Werte in den Anforderungsheadern unterscheiden, wird nur eine Version des Objekts CloudFront zwischengespeichert.
Sie können so konfigurieren CloudFront , dass Header an den Ursprung weitergeleitet werden, was CloudFront dazu führt, dass mehrere Versionen eines Objekts auf der Grundlage der Werte in einem oder mehreren Anforderungsheadern zwischengespeichert werden. Um CloudFront zu konfigurieren, dass Objekte auf der Grundlage der Werte bestimmter Header zwischengespeichert werden, geben Sie Einstellungen für das Cache-Verhalten für Ihre Distribution an. Weitere Informationen finden Sie unter Cache-Speicherung basierend auf ausgewählten Anforderungs-Headern.
Nehmen wir beispielsweise an, dass Viewer-Anforderungen für logo.jpg einen benutzerdefinierten Product-Header enthalten, der entweder den Wert Acme oder Apex hat. Wenn Sie so konfigurieren CloudFront , dass Ihre Objekte basierend auf dem Wert des Product Headers zwischengespeichert werden, CloudFront leitet Anfragen logo.jpg an den Ursprung weiter und schließt den Header und die Product Header-Werte ein. CloudFront speichert logo.jpg einmal für Anfragen, in denen der Wert des Product Headers enthalten ist, Acme und einmal für Anfragen, in denen der Wert enthalten ist. Apex
Sie können jedes Cache-Verhalten in einer Verteilung so konfigurieren, dass eine der folgenden Aktionen ausgeführt wird:
-
Weiterleiten aller Header an Ihren Ursprung
Anmerkung
Für ältere Cache-Einstellungen — Wenn Sie so konfigurieren CloudFront , dass alle Header an Ihren Ursprung weitergeleitet werden, werden die Objekte, die mit diesem Cache-Verhalten verknüpft sind, CloudFront nicht zwischengespeichert. Stattdessen werden alle Anfragen an den Ursprung gesendet.
-
Leitet eine Liste von Headern weiter, die Sie angeben. CloudFront speichert Ihre Objekte auf der Grundlage der Werte in allen angegebenen Headern im Cache. CloudFront leitet auch die Header weiter, die es standardmäßig weiterleitet, aber Ihre Objekte werden nur auf der Grundlage der von Ihnen angegebenen Header zwischengespeichert.
-
Weiterleiten nur der Standard-Header. In dieser Konfiguration werden Ihre Objekte CloudFront nicht auf der Grundlage der Werte in den Anforderungsheadern zwischengespeichert.
Informationen zum aktuellen Kontingent für die Anzahl von Headern, die Sie für jedes Cache-Verhalten weiterleiten können, oder zum Anfordern eines höheren Kontingents finden Sie unter Kontingente für Header.
Hinweise zur Verwendung der CloudFront Konsole zum Aktualisieren einer Distribution, sodass Header an den Ursprung CloudFront weitergeleitet werden, finden Sie unter. Eine Verteilung aktualisieren Informationen zur Verwendung der CloudFront API zur Aktualisierung einer vorhandenen Distribution finden Sie unter Update Distribution in der CloudFront Amazon-API-Referenz.
Auswählen der Header, auf denen die Zwischenspeicherung basieren soll
Die Header, die Sie an den Ursprung weiterleiten können und auf denen das Caching CloudFront basiert, hängen davon ab, ob es sich bei Ihrem Ursprung um einen Amazon S3-Bucket oder einen benutzerdefinierten Ursprung handelt.
-
Amazon S3 — Sie können so konfigurieren CloudFront , dass Ihre Objekte auf der Grundlage einer Reihe bestimmter Header weitergeleitet und zwischengespeichert werden (siehe die folgende Liste von Ausnahmen). Allerdings empfehlen wir, möglichst keine Header mit einem Amazon-S3-Ursprung weiterzuleiten, es sei denn, Sie implementieren Cross-Origin Resource Sharing (CORS, ursprungsübergreifende gemeinsame Nutzung von Ressourcen) oder möchten Inhalte mit Lambda@Edge in Ereignissen auf Ursprungsseite personalisieren.
-
Um CORS zu konfigurieren, müssen Sie Header weiterleiten, die es ermöglichen, Inhalte für Websites CloudFront zu verteilen, die für Cross-Origin Resource Sharing (CORS) aktiviert sind. Weitere Informationen finden Sie unter Konfigurieren Sie so CloudFront , dass die CORS-Einstellungen berücksichtigt werden.
-
Um Inhalte mithilfe von Headern zu personalisieren, die Sie an Ihren Amazon S3-Ursprung weiterleiten, schreiben Sie Lambda @Edge -Funktionen, fügen diese hinzu und verknüpfen sie mit Ihrer CloudFront Verteilung, sodass sie durch ein Ereignis ausgelöst werden, das mit dem Ursprung verbunden ist. Weitere Informationen zum Verwenden von Headern, um Inhalte zu personalisieren, finden Sie unter Personalisieren von Inhalten nach Land oder Gerätetyp-Header – Beispiele.
Wir empfehlen, möglichst keine Header weiterzuleiten, die Sie nicht zum Personalisieren von Inhalten verwenden, da das Weiterleiten zusätzlicher Header zu einer Verringerung der Cache-Trefferrate führen kann. Das heißt, es CloudFront können nicht so viele Anfragen von Edge-Caches bedient werden, wie der Anteil aller Anfragen.
-
-
Benutzerdefinierter Ursprung — Sie können CloudFront den Cache auf der Grundlage des Werts eines beliebigen Anforderungsheaders konfigurieren, mit Ausnahme der folgenden:
-
Connection -
Cookie– Wenn die Weiterleitung und Zwischenspeicherung auf der Grundlage von Cookies erfolgen soll, verwenden Sie eine separate Einstellung in Ihrer Verteilung. Weitere Informationen finden Sie unter Zwischenspeichern von Inhalten auf der Grundlage von Cookies. -
Host (for Amazon S3 origins) -
Proxy-Authorization -
TE -
Upgrade
Sie können so konfigurieren CloudFront , dass Objekte auf der Grundlage von Werten in den
User-AgentHeadernDateund zwischengespeichert werden, wir empfehlen dies jedoch nicht. Diese Header haben zahlreiche mögliche Werte, und das Caching auf der Grundlage ihrer Werte könnte dazu führen, dass deutlich mehr Anfragen CloudFront an Ihren Ursprung weitergeleitet werden. -
Eine vollständige Liste der HTTP-Anforderungsheader und deren Verarbeitung finden Sie CloudFront unter. Header und CloudFront Verhalten von HTTP-Anfragen (benutzerdefiniert und Amazon S3-Ursprünge)
Konfigurieren Sie so CloudFront , dass die CORS-Einstellungen berücksichtigt werden
Wenn Sie Cross-Origin Resource Sharing (CORS) auf einem Amazon S3-Bucket oder einem benutzerdefinierten Ursprung aktiviert haben, müssen Sie bestimmte Header zum Weiterleiten auswählen, um die CORS-Einstellungen zu berücksichtigen. Die Header, die Sie weiterleiten müssen, sind abhängig vom Ursprung (Amazon S3 oder benutzerdefiniert) und von der Tatsache, ob Sie OPTIONS-Antworten zwischenspeichern möchten, unterschiedlich.
Amazon S3
-
Wenn Sie möchten, dass
OPTIONS-Antworten im Cache gespeichert werden, führen Sie die folgenden Schritte aus:-
Wählen Sie die Optionen für die Standardeinstellungen für das Cache-Verhalten aus, mit denen das Zwischenspeichern von
OPTIONS-Antworten aktiviert wird. -
Konfigurieren CloudFront Sie so, dass die folgenden Header weitergeleitet werden:
OriginAccess-Control-Request-Headers, und.Access-Control-Request-Method
-
-
Wenn Sie nicht möchten, dass
OPTIONS-Antworten im Cache gespeichert werden, konfigurieren Sie CloudFront so, dass derOrigin-Header zusammen mit allen Headern, die für Ihren Ursprung erforderlich sind, weitergeleitet wird (z. B.Access-Control-Request-Headers,Access-Control-Request-Methododer andere).
Benutzerdefinierte Ursprünge – Leiten Sie den Origin-Header zusammen mit anderen Headern weiter, die für Ihren Ursprung erforderlich sind.
Um CloudFront zu konfigurieren, dass Antworten auf der Grundlage von CORS zwischengespeichert werden, müssen Sie die Weiterleitung von Headern mithilfe einer Cache-Richtlinie konfigurieren CloudFront . Weitere Informationen finden Sie unter Steuern des Cache-Schlüssels mit einer Richtlinie.
Weitere Informationen zu CORS und Amazon S3 finden Sie unter Cross-Origin Resource Sharing (CORS) verwenden im Benutzerhandbuch zu Amazon Simple Storage Service.
Konfigurieren der Zwischenspeicherung basierend auf dem Gerätetyp
Wenn Sie je CloudFront nach Gerät, das ein Benutzer zum Anzeigen Ihrer Inhalte verwendet, verschiedene Versionen Ihrer Objekte zwischenspeichern möchten, konfigurieren Sie die entsprechenden Header so, dass die entsprechenden Header CloudFront an Ihren benutzerdefinierten Ursprung weitergeleitet werden:
-
CloudFront-Is-Desktop-Viewer -
CloudFront-Is-Mobile-Viewer -
CloudFront-Is-SmartTV-Viewer -
CloudFront-Is-Tablet-Viewer
CloudFront Legt basierend auf dem Wert des User-Agent Headers den Wert dieser Header auf true oder false vor der Weiterleitung der Anfrage an Ihren Ursprung fest. Wenn ein Gerät in mehr als eine Kategorie fällt, können mehrere Werte sei true. Bei einigen Tablet-Geräten CloudFront können Sie z. B. CloudFront-Is-Mobile-Viewer sowohl als auch CloudFront-Is-Tablet-Viewer auf true setzen.
Konfigurieren der Zwischenspeicherung basierend auf der Sprache des Viewers
Wenn Sie verschiedene Versionen Ihrer Objekte auf der Grundlage der in der Anfrage angegebenen Sprache zwischenspeichern möchten CloudFront , konfigurieren Sie so, CloudFront dass der Accept-Language Header an Ihren Ursprung weitergeleitet wird.
Konfigurieren der Zwischenspeicherung basierend auf dem Standort des Viewers
Wenn Sie je CloudFront nach Land, aus dem die Anfrage stammt, verschiedene Versionen Ihrer Objekte zwischenspeichern möchten, konfigurieren Sie CloudFront , dass der CloudFront-Viewer-Country Header an Ihren Ursprung weitergeleitet wird. CloudFront wandelt die IP-Adresse, von der die Anfrage kam, automatisch in eine aus zwei Buchstaben bestehende Landeskennzahl um. Eine benutzerfreundliche Liste der Ländercodes, die nach Code und Ländername sortiert werden kann, finden Sie im Wikipedia-Eintrag ISO 3166-1 alpha-2
Konfigurieren der Zwischenspeicherung basierend auf dem Protokoll der Anforderung
Wenn Sie verschiedene Versionen Ihrer Objekte basierend auf dem Protokoll der Anfrage, HTTP oder HTTPS, zwischenspeichern möchten CloudFront , konfigurieren Sie, dass der CloudFront-Forwarded-Proto Header CloudFront an Ihren Ursprung weitergeleitet wird.
Konfigurieren der Zwischenspeicherung für komprimierte Dateien
Wenn Ihr Ursprung die Brotli-Komprimierung unterstützt, können Sie die Zwischenspeicherung basierend auf dem Accept-Encoding-Header durchführen. Konfigurieren Sie die Zwischenspeicherung nur dann basierend auf Accept-Encoding, wenn Ihr Ursprungs-Server abhängig vom Header unterschiedliche Inhalte bereitstellt.
Auswirkungen der Zwischenspeicherung auf der Grundlage von Headern auf die Leistung
Wenn Sie CloudFront den Cache auf der Grundlage von einem oder mehreren Headern konfigurieren und die Header mehr als einen möglichen Wert haben, werden mehrere Anfragen für dasselbe Objekt an Ihren Ursprungsserver CloudFront weitergeleitet. Dadurch wird die Leistung verringert und die Last auf Ihrem Ursprungs-Server erhöht. Wenn Ihr Ursprungsserver unabhängig vom Wert eines bestimmten Headers dasselbe Objekt zurückgibt, empfehlen wir Ihnen, das Cachen nicht auf der Grundlage dieses Headers CloudFront zu konfigurieren.
Wenn Sie so konfigurieren, CloudFront dass mehr als ein Header weitergeleitet wird, wirkt sich die Reihenfolge der Header in Viewer-Anfragen nicht auf das Caching aus, solange die Werte identisch sind. Wenn beispielsweise eine Anfrage die Header enthält B:2 und eine andere Anfrage A:1,, CloudFront speichert nur eine Kopie des Objekts im Cache. B:2 A:1
Auswirkungen der Schreibweise von Headern und Header-Werten auf die Zwischenspeicherung
Beim CloudFront Zwischenspeichern auf der Grundlage von Header-Werten wird die Groß- und Kleinschreibung des Header-Namens nicht berücksichtigt, wohl aber die Groß- und Kleinschreibung des Header-Werts:
-
Wenn Viewer-Anfragen
Product:Acmesowohl als auch enthaltenproduct:Acme, wird ein Objekt nur einmal CloudFront zwischengespeichert. Der einzige Unterschied zwischen ihnen ist die Schreibweise des Header-Namens, die sich nicht auf die Zwischenspeicherung auswirkt. -
Wenn Viewer-Anfragen
Product:Acmesowohl als auch enthaltenProduct:acme, wird ein Objekt zweimal CloudFront zwischengespeichert, da der WertAcmein einigen Anfragen undacmein anderen enthalten ist.
Header, die zum CloudFront Viewer zurückkehren
Die Konfiguration CloudFront für das Weiterleiten und Zwischenspeichern von Headern hat keinen Einfluss darauf, welche Header an den Viewer CloudFront zurückgegeben werden. CloudFront gibt alle Header zurück, die es vom Ursprung erhält, mit wenigen Ausnahmen. Weitere Informationen finden Sie im entsprechenden Thema:
-
Amazon S3-Ursprünge – siehe HTTP-Antwort-Header, die CloudFront entfernt oder aktualisiert werden.
-
Benutzerdefinierte Ursprünge – Siehe HTTP-Antwort-Header, die CloudFront entfernt oder ersetzt werden.