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 Abfragezeichenfolgeparametern
Einige Webanwendungen verwenden zum Senden von Informationen an den Ursprung Abfragezeichenfolgen. Eine Abfragezeichenfolge ist der Teil einer Webanfrage nach dem Zeichen ?. Die Zeichenfolge kann einen oder mehrere durch das Zeichen & getrennte Parameter enthalten. Im folgenden Beispiel enthält die Abfragezeichenfolge zwei Parameter color=red undsize=large:
https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red&size=large
Bei Verteilungen können Sie wählen, ob Sie Abfragezeichenfolgen CloudFront an Ihren Ursprung weiterleiten möchten und ob Ihre Inhalte auf der Grundlage aller Parameter oder anhand ausgewählter Parameter zwischengespeichert werden sollen. Warum kann dies sinnvoll sein? Betrachten Sie das folgende Beispiel.
Angenommen, Ihre Website ist in fünf Sprachen verfügbar. Die Verzeichnisstruktur und Dateinamen für alle fünf Versionen der Website sind identisch. Wenn ein Benutzer Ihre Website besucht, werden Anfragen weitergeleitet, um einen Zeichenfolgenparameter für die Sprachabfrage zu CloudFront enthalten, der auf der vom Benutzer ausgewählten Sprache basiert. Sie können so konfigurieren CloudFront , dass Abfragezeichenfolgen an den Ursprung weitergeleitet und basierend auf dem Sprachparameter zwischengespeichert werden. Wenn Sie Ihren Webserver so konfigurieren, dass er die Version einer bestimmten Seite zurückgibt, die der ausgewählten Sprache entspricht, CloudFront speichert er jede Sprachversion separat im Cache, basierend auf dem Wert des Parameters für die Sprachabfragezeichenfolge.
Wenn in diesem Beispiel die Hauptseite Ihrer Website lautetmain.html, führen die folgenden fünf Anfragen CloudFront dazu, dass fünfmal zwischengespeichert main.html wird, einmal für jeden Wert des Zeichenfolgenparameters für die Sprachabfrage:
-
https://d111111abcdef8.cloudfront.net/main.html?language=de -
https://d111111abcdef8.cloudfront.net/main.html?language=en -
https://d111111abcdef8.cloudfront.net/main.html?language=es -
https://d111111abcdef8.cloudfront.net/main.html?language=fr -
https://d111111abcdef8.cloudfront.net/main.html?language=jp
Beachten Sie Folgendes:
-
Einige HTTP-Server verarbeiten keine Abfragezeichenfolgeparameter und geben daher nicht unterschiedliche Versionen eines Objekts auf der Grundlage der Parameterwerte zurück. Wenn Sie für diese Ursprünge so konfigurieren, CloudFront dass Abfragezeichenfolgenparameter an den Ursprung weitergeleitet werden, wird der Cache CloudFront trotzdem auf der Grundlage der Parameterwerte zwischengespeichert, obwohl der Ursprung CloudFront für jeden Parameterwert identische Versionen des Objekts zurückgibt.
-
Damit Abfragezeichenfolgeparameter wie im obigen Beispiel beschrieben mit den Sprachen funktionieren, müssen Sie das Zeichen
&als Trennzeichen zwischen den Abfragezeichenfolgeparametern verwenden. Wenn Sie ein anderes Trennzeichen verwenden, erhalten Sie möglicherweise unerwartete Ergebnisse, je nachdem, welche Parameter Sie als Grundlage für CloudFront das Caching angeben und in welcher Reihenfolge die Parameter in der Abfragezeichenfolge erscheinen.Die folgenden Beispiele zeigen, was passiert, wenn Sie ein anderes Trennzeichen verwenden und den Cache nur auf der Grundlage des CloudFront Parameters konfigurieren:
color-
In der folgenden Anfrage wird Ihr Inhalt auf der Grundlage des
colorParameterwerts CloudFront zwischengespeichert, der Wert wird jedoch wie folgt CloudFront interpretiert:red;size=largehttps://d111111abcdef8.cloudfront.net/images/image.jpg?color=red;size=large -
In der folgenden Anfrage wird Ihr Inhalt CloudFront zwischengespeichert, das Caching basiert jedoch nicht auf den Parametern der Abfragezeichenfolge. Dies liegt daran, dass Sie das Zwischenspeichern CloudFront auf der Grundlage des
colorParameters konfiguriert haben, die folgende Zeichenfolge jedoch so CloudFront interpretiert, dass sie nur einensizeParameter mit einem Wert von enthält:large;color=redhttps://d111111abcdef8.cloudfront.net/images/image.jpg?size=large;color=red
-
Sie können eine der folgenden Optionen konfigurieren CloudFront :
-
Keine Abfragezeichenfolge an den Ursprung weiterleiten. Wenn Sie keine Abfragezeichenfolgen weiterleiten, wird der Cache CloudFront nicht auf der Grundlage von Abfragezeichenfolgenparametern zwischengespeichert.
-
Abfragezeichenfolgen an den Ursprung weiterleiten und auf der Grundlage aller Parameter in der Abfragezeichenfolge zwischenspeichern.
-
Abfragezeichenfolgen an den Ursprung weiterleiten und auf der Grundlage spezifischer Parameter in der Abfragezeichenfolge zwischenspeichern.
Weitere Informationen finden Sie unter Optimieren der Zwischenspeicherung.
Themen
Konsolen- und API-Einstellungen für die Weiterleitung und Zwischenspeicherung von Abfragezeichenfolgen
Wenn Sie eine Verteilung in der CloudFront Konsole erstellen, CloudFront konfiguriert die Weiterleitung und das Zwischenspeichern von Abfragezeichenfolgen für Sie basierend auf Ihrem Ursprungstyp. Sie können diese Einstellungen auch manuell bearbeiten. Weitere Informationen zu den folgenden Einstellungen finden Sie in der Referenz für alle Distributionseinstellungen:
Informationen zur Konfiguration der Weiterleitung und des Caches von Abfragezeichenfolgen mit der CloudFront API finden Sie unter CachePolicy und OriginRequestPolicy in der CloudFront Amazon-API-Referenz.
Optimieren der Zwischenspeicherung
Wenn Sie das Zwischenspeichern CloudFront auf der Grundlage von Abfragezeichenfolgenparametern konfigurieren, können Sie die folgenden Schritte ausführen, um die Anzahl der Anfragen zu reduzieren, die an CloudFront Ihren Ursprung weitergeleitet werden. Wenn CloudFront Edge-Standorte Objekte bereitstellen, reduzieren Sie die Last auf Ihrem Originalserver und reduzieren die Latenz, da Objekte von Standorten aus bedient werden, die näher an Ihren Benutzern liegen.
- Zwischenspeichern auf der ausschließlichen Grundlage von Parametern, für die Ihr Ursprung verschiedene Versionen eines Objekts zurückgibt
-
Für jeden Abfragezeichenfolgenparameter, an den Ihre Webanwendung CloudFront weiterleitetCloudFront, werden für jeden Parameterwert Anfragen an Ihren Ursprung weitergeleitet und für jeden Parameterwert eine separate Version des Objekts zwischengespeichert. Dies gilt auch, wenn Ihr Ursprung unabhängig vom Parameterwert immer dasselbe Objekt zurückgibt. Bei mehreren Parametern multiplizieren sich die Anzahl der Anfragen und die Anzahl der Objekte.
Wir empfehlen, die Konfiguration so CloudFront zu konfigurieren, dass das Caching nur auf der Grundlage der Abfragezeichenfolgenparameter erfolgt, für die Ihr Ursprung unterschiedliche Versionen zurückgibt, und dass Sie die Vorzüge des Cachings auf der Grundlage der einzelnen Parameter sorgfältig abwägen. Nehmen wir beispielsweise an, dass Sie eine Einzelhandels-Website besitzen. Sie haben Bilder einer Jacke in sechs verschiedenen Farben und es gibt die Jacke in zehn verschiedenen Größen. Die Bilder, die Sie von der Jacke haben, zeigen die verschiedenen Farben, jedoch nicht die verschiedenen Größen. Um das Caching zu optimieren, sollten Sie so konfigurieren, CloudFront dass das Caching nur auf der Grundlage des Farbparameters und nicht auf dem Größenparameter basiert. Dadurch steigt die Wahrscheinlichkeit, dass eine Anfrage aus dem Cache bearbeitet werden CloudFront kann, was die Leistung verbessert und die Belastung Ihres Ursprungscomputers verringert.
- Parameter immer in der gleichen Reihenfolge auflisten
-
Die Reihenfolge der Parameter in Abfragezeichenfolgen ist wichtig. Im folgenden Beispiel sind die Abfragezeichenfolgen identisch, abgesehen davon, dass die Parameter eine andere Reihenfolge aufweisen. Dies führt CloudFront dazu, dass zwei separate Anfragen für image.jpg an Ihren Ursprung weitergeleitet werden und zwei separate Versionen des Objekts zwischengespeichert werden:
-
https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red&size=large -
https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large&color=red
Wir empfehlen, Parameternamen immer in der gleichen Reihenfolge aufzulisten, beispielsweise in alphabetischer Reihenfolge.
-
- Immer dieselbe Schreibweise für Parameternamen und -werte verwenden
-
CloudFront berücksichtigt die Groß- und Kleinschreibung von Parameternamen und -werten beim Zwischenspeichern auf der Grundlage von Abfragezeichenfolgenparametern. Im folgenden Beispiel sind die Abfragezeichenfolgen identisch, abgesehen von der Schreibweise der Parameternamen und -werte. Dies führt CloudFront dazu, dass vier separate Anfragen für image.jpg an Ihren Ursprung weitergeleitet und vier separate Versionen des Objekts zwischengespeichert werden:
-
https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red -
https://d111111abcdef8.cloudfront.net/images/image.jpg?color=Red -
https://d111111abcdef8.cloudfront.net/images/image.jpg?Color=red -
https://d111111abcdef8.cloudfront.net/images/image.jpg?Color=Red
Wir empfehlen, konsistent dieselbe Schreibweise für Parameternamen und -werte zu verwenden, beispielsweise nur Kleinbuchstaben.
-
- Keine Parameternamen verwenden, die mit signierten URLs in Konflikt stehen
-
Wenn Sie signierte URLs verwenden, um den Zugriff auf Ihre Inhalte einzuschränken (wenn Sie Ihrer Distribution vertrauenswürdige Unterzeichner hinzugefügt haben), werden die folgenden Abfragezeichenfolgenparameter CloudFront entfernt, bevor der Rest der URL an Ihren Ursprung weitergeleitet wird:
-
Expires -
Key-Pair-Id -
Policy -
Signature
Wenn Sie signierte URLs verwenden und so konfigurieren möchten, dass Abfragezeichenfolgen CloudFront an Ihren Ursprung weitergeleitet werden, können Ihre eigenen Abfragezeichenfolgenparameter nicht mit
Expires,Key-Pair-IdPolicy, oderSignaturebenannt werden. -
Parameter für Abfragezeichenfolgen und CloudFront Standardprotokolle (Zugriffsprotokolle)
Wenn Sie die Protokollierung aktivieren, wird die vollständige URL CloudFront protokolliert, einschließlich der Parameter für die Abfragezeichenfolge. Dies gilt unabhängig davon, ob Sie die Weiterleitung von Abfragezeichenfolgen an den Ursprung konfiguriert CloudFront haben. Weitere Hinweise zur CloudFront Protokollierung finden Sie unterZugriffsprotokolle (Standardprotokolle).