

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.

# Steuern des Cache-Schlüssels mit einer Richtlinie
<a name="controlling-the-cache-key"></a>

Mit einer CloudFront-*Cache-Richtlinie* können Sie die HTTP-Header, Cookies und Abfragezeichenfolgen angeben, die CloudFront für Objekte, die an CloudFront-Edge-Standorten zwischengespeichert werden, im *Cache-Schlüssel* einfügen soll. Der Cache-Schlüssel ist der eindeutige Bezeichner für jedes Objekt im Cache und bestimmt, ob die HTTP-Anforderung eines Viewers 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 an den Viewer von einem CloudFront-Edge-Standort aus bereitgestellt, was folgende Vorteile hat:
+ Geringere Auslastung Ihres Ursprungs-Servers
+ Reduzierte Latenz für den Viewer

Weniger Werte im Cache-Schlüssel erhöhen die Wahrscheinlichkeit eines Cache-Treffers. So können Sie eine bessere Leistung für Ihre Website oder Anwendung erzielen, da dies die *Cache-Trefferquote* erhöht (ein höherer Anteil an Viewer-Anforderungen, die zu einem Cache-Treffer führen). Weitere Informationen finden Sie unter [Grundlegendes zum Cache-Schlüssel](understanding-the-cache-key.md).

Verwenden Sie eine CloudFront-*Cache-Richtlinie*, um den Cache-Schlüssel zu kontrollieren. Sie fügen eine Cache-Richtlinie an eine oder mehrere Cache-Verhaltensweisen in einer CloudFront-Verteilung an.

Sie können die Cache-Richtlinie auch verwenden, um Einstellungen für die Gültigkeitsdauer (Time-to-Live, TTL) für Objekte im CloudFront-Cache anzugeben und CloudFront das Anfordern und das Zwischenspeichern komprimierter Objekte zu ermöglichen.

**Anmerkung**  
Cache-Einstellungen haben keine Auswirkungen auf gRPC-Anforderungen, da gRPC-Datenverkehr nicht zwischengespeichert werden kann. Weitere Informationen finden Sie unter [gRPC mit CloudFront Distributionen verwenden](distribution-using-grpc.md).

**Topics**
+ [Grundlegendes zu Cache-Richtlinien](cache-key-understand-cache-policy.md)
+ [Erstellen von Cache-Richtlinien](cache-key-create-cache-policy.md)
+ [Verwenden verwalteter Cache-Richtlinien](using-managed-cache-policies.md)
+ [Grundlegendes zum Cache-Schlüssel](understanding-the-cache-key.md)

# Grundlegendes zu Cache-Richtlinien
<a name="cache-key-understand-cache-policy"></a>

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. CloudFront stellt einige vordefinierte Ursprungsanforderungsrichtlinien für häufige Anwendungsfälle bereit, 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 verwalteter Cache-Richtlinien](using-managed-cache-policies.md).

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
<a name="cache-key-understand-cache-policy-info"></a>

**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)
<a name="cache-key-understand-cache-policy-ttl"></a>

Die Time to Live (TTL)-Einstellungen bestimmen in Verbindung mit den HTTP-Headern `Cache-Control` und `Expires` (falls diese in der Ursprungsantwort enthalten sind), wie lange Objekte im CloudFront-Cache gültig bleiben.

**Mindest-TTL**  
Die Mindestzeitspanne (in Sekunden), die Objekte im CloudFront-Cache verbleiben sollen, bevor CloudFront eine weitere Anforderung an den Ursprung sendet, um festzustellen, ob das Objekt aktualisiert wurde. Weitere Informationen finden Sie unter [Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf)](Expiration.md).  
Wenn Ihre Mindest-TTL größer als 0 ist, speichert CloudFront Inhalte mindestens für die in der Mindest-TTL der Cache-Richtlinie angegebene Dauer im Cache, auch wenn die `Cache-Control: no-cache`-, `no-store`- oder `private`-Richtlinien in den Ursprungsheadern vorhanden sind.

**Höchst-TTL**  
Die maximale Zeit (in Sekunden), die Objekte im CloudFront-Cache verbleiben, bevor CloudFront eine weitere Anforderung an den Ursprung sendet, um festzustellen, 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)](Expiration.md).

**Standard-TTL**  
Die Standardzeitspanne (in Sekunden), die Objekte im CloudFront-Cache verbleiben sollen, bevor CloudFront eine weitere Anforderung an den Ursprung sendet, um festzustellen, ob das Objekt aktualisiert wurde. CloudFront verwendet diesen Wert nur dann als Gültigkeitsdauer (Time To Live, 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)](Expiration.md).

**Anmerkung**  
Wenn die Werte für **Mindest-TTL**, **Höchst-TTL** und **Standard-TTL** alle auf 0 gesetzt sind, wird das CloudFront-Caching deaktiviert.

## Cache-Schlüssel-Einstellungen
<a name="cache-key-understand-cache-policy-settings"></a>

Die Cache-Schlüsseleinstellungen geben die Werte in Viewer-Anforderungen an, die CloudFront im Cache-Schlüssel 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 anhand einer Richtlinie](controlling-origin-requests.md).

Zu den Cache-Schlüssel-Einstellungen gehören:
+ [Header](#cache-policy-headers)
+ [Cookies](#cache-policy-cookies)
+ [Abfragezeichenfolgen](#cache-policy-query-strings)
+ [Komprimierungsunterstützung](#cache-policy-compressed-objects)

**Header**  
Die HTTP-Header in Viewer-Anforderungen, die CloudFront im Cache-Schlüssel und in Ursprungsanforderungen 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 CloudFront generiert wurden, in den Cache-Schlüssel einschließen. Weitere Informationen finden Sie unter [Hinzufügen von CloudFront-Anforderungsheadern](adding-cloudfront-headers.md).

**Cookies**  
Die Cookies in Viewer-Anforderungen, die CloudFront in den Cache-Schlüssel und in Ursprungsanforderungen einschließt. 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 Wertes, im Cache-Schlüssel und in Ursprungsanforderungen.

**Abfragezeichenfolgen**  
Die URL-Abfragezeichenfolgen in Viewer-Anforderungen, die CloudFront im Cache-Schlüssel und in Ursprungsanforderungen 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 schließt jedoch die vollständige Abfragezeichenfolge, einschließlich ihres Wertes, in den Cache-Schlüssel und in Ursprungsanforderungen ein.  
Bei den Einstellungen des Cache-Schlüssels behandelt CloudFront das Sternchen (`*`) für die Header, Abfragezeichenfolgen und Cookies als Literalzeichenfolge und nicht als Platzhalter.

**Komprimierungsunterstützung**  
Mit diesen Einstellungen kann CloudFront Objekte anfordern und zwischenspeichern, die mit den Komprimierungsformaten Gzip oder Brotli komprimiert sind, sofern der Viewer dies unterstützt. Diese Einstellungen ermöglichen auch die Funktion der [CloudFront-Komprimierung](ServingCompressedFiles.md). Viewer geben ihre Unterstützung für diese Komprimierungsformate mit dem `Accept-Encoding`-HTTP-Header an.  
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** (`EnableAcceptEncodingGzip` in der CloudFront-API, in den AWS-SDKs, in AWS CLI oder in CloudFormation auf `true` festlegen).
+ 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 Einstellung **Brotli aktiviert** (`EnableAcceptEncodingBrotli` in der CloudFront-API, in den AWS-SDKs, in AWS CLI oder in CloudFormation auf `true` festlegen).
+ Die Cache-Verhaltensweise, der diese Cache-Richtlinie angefügt ist, ist mit [CloudFront-Komprimierung](ServingCompressedFiles.md) konfiguriert. In diesem Fall können Sie die Zwischenspeicherung für Gzip oder Brotli oder beides aktivieren. Wenn die CloudFront-Komprimierung aktiviert ist, kann das Aktivieren der Zwischenspeicherung für beide Formate dazu beitragen, die Kosten für die Datenübertragung ins Internet zu senken.
Wenn Sie die Zwischenspeicherung für eines oder beide dieser Komprimierungsformate aktivieren, schließen Sie den `Accept-Encoding`-Header nicht in eine [Ursprungsanforderungsrichtlinie](controlling-origin-requests.md) ein, die demselben Cache-Verhalten zugeordnet ist. CloudFront schließt diesen Header immer dann in Ursprungsanforderungen ein, wenn die Zwischenspeicherung für eines dieser Formate aktiviert ist. Daher hat das Einschließen von `Accept-Encoding` in eine Ursprungsanforderungsrichtlinie keine Auswirkung.
Wenn Ihr Ursprungsserver keine mit Gzip oder Brotli komprimierten Objekte zurückgibt oder das Cache-Verhalten nicht mit CloudFront-Komprimierung konfiguriert ist, aktivieren Sie keine Zwischenspeicherung für komprimierte Objekte. Wenn Sie dies dennoch tun, kann dies zu einer Verringerung der [Cache-Trefferquote](cache-hit-ratio.md) führen.  
Nachfolgend 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 nicht den `Accept-Encoding`-Header enthält, schließt CloudFront diesen Header nicht in den Cache-Schlüssel und auch 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, das heißt, wenn sich die `gzip`- und `br`-Werte beide im `Accept-Encoding`-Header der Viewer-Anforderung befinden, verfährt CloudFront wie folgt:  
+ 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 enthält, das der Anforderung entspricht und nicht abgelaufen ist, schließt CloudFront 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 unterstützt, nicht jedoch das andere; z. B. wenn `gzip` ein Wert im `Accept-Encoding`-Header in der Viewer-Anforderung ist, `br` jedoch nicht, verfährt CloudFront wie folgt:  
+ 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 enthält, das der Anforderung entspricht und nicht abgelaufen ist, schließt CloudFront 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, tauschen Sie die beiden Komprimierungsformate im vorangegangenen Beispiel gegeneinander aus.  
Wenn der Viewer Brotli oder Gzip nicht unterstützt, das heißt, der `Accept-Encoding`-Header in der Viewer-Anforderung enthält nicht `br` oder `gzip` als Werte, verfährt CloudFront wie folgt:  
+ 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 die Zwischenspeicherung aktiviert ist, so beispielsweise, wenn die Zwischenspeicherung 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), verfährt CloudFront wie folgt:  
+ 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 enthält, das der Anforderung entspricht und nicht abgelaufen ist, schließt CloudFront 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, wie CloudFront verfährt, wenn das Zwischenspeichern komprimierter Objekte für Brotli, aber nicht für Gzip aktiviert ist, tauschen Sie die beiden Komprimierungsformate im vorangegangenen Beispiel gegeneinander aus.  
Wenn der Viewer das Komprimierungsformat, für das die Zwischenspeicherung aktiviert ist, nicht unterstützt (der `Accept-Encoding`-Header in der Viewer-Anforderung den Wert für dieses Format nicht enthält), verfährt CloudFront wie folgt:  
+ 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, behandelt CloudFront den `Accept-Encoding`-Header genau so wie jeden anderen 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.

# Erstellen von Cache-Richtlinien
<a name="cache-key-create-cache-policy"></a>

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, über die AWS Command Line Interface (AWS CLI) oder über die 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 AWS-Managementkonsole an und öffnen Sie die Seite **Richtlinien** in der CloudFront-Konsole unter [https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

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

1. Wählen Sie die gewünschte Einstellung für diese Cache-Richtlinie aus. Weitere Informationen finden Sie unter [Grundlegendes zu Cache-Richtlinien](cache-key-understand-cache-policy.md).

1. 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 **Distributions (Verteilungen)** in der CloudFront-Konsole unter [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

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

1. 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.

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

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

1. 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](https://console.aws.amazon.com/cloudfront/v4/home).

1. Wählen Sie **Verteilung erstellen**.

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

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

1. Wählen Sie die gewünschten Einstellungen für den Ursprung, das Standard-Cacheverhalten und andere Verteilungseinstellungen aus. Weitere Informationen finden Sie unter [Referenz für alle Distributionseinstellungen](distribution-web-values-specify.md).

1. 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
   ```

1. Ö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](cache-key-understand-cache-policy.md).

1. 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 anzufügen.

**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 zu aktualisierende CloudFront-Verteilung zu speichern. Ersetzen Sie *distribution\$1ID* durch die ID der Verteilung.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Ö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 hinz `CachePolicyId`. 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.

1. Verwenden Sie den folgenden Befehl, um die Verteilung so zu aktualisieren, dass die Cache-Richtlinie verwendet wird. Ersetzen Sie *distribution\$1ID* 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
   ```

1. Ö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 [Referenz für alle Distributionseinstellungen](distribution-web-values-specify.md).

1. 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-Richtlinie mit der CloudFront-API zu erstellen, verwenden Sie [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html). Weitere Informationen zu den Feldern, die Sie in diesem API-Aufruf angeben, finden Sie unter [Grundlegendes zu Cache-Richtlinien](cache-key-understand-cache-policy.md) 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:
+ Verwenden Sie [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html), um sie an eine Cache-Verhaltensweise in einer vorhandenen Verteilung anzufügen.
+ Um sie an ein Cache-Verhaltensweise in einer neuen Verteilung anzufügen, verwenden Sie [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

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 [Referenz für alle Distributionseinstellungen](distribution-web-values-specify.md) und in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.

------

# Verwenden verwalteter Cache-Richtlinien
<a name="using-managed-cache-policies"></a>

CloudFront stellt einen Satz verwalteter Cache-Richtlinien bereit, die Sie an jedes Cache-Verhalten Ihrer Distribution anfügen können. Bei Verwendung einer verwalteten Cache-Richtlinie müssen Sie keine eigene Cache-Richtlinie schreiben oder verwalten. Die verwalteten Richtlinien verwenden Einstellungen, die für bestimmte Anwendungsfälle optimiert sind.

Um eine verwaltete Cache-Richtlinie zu verwenden, fügen Sie sie einem Cache-Verhalten in Ihrer Distribution an. Der Prozess ist der gleiche wie beim Erstellen einer Cache-Richtlinie. Anstatt jedoch eine neue Cache-Richtlinie zu erstellen, fügen Sie einfach eine verwaltete Cache-Richtlinie an. Sie fügen die Richtlinie entweder nach Name (über die Konsole) oder nach ID an (über die AWS CLI oder SDKs). Die Namen und IDs sind im folgenden Abschnitt aufgeführt.

Weitere Informationen finden Sie unter [Erstellen von Cache-Richtlinien](cache-key-create-cache-policy.md).

In den folgenden Themen werden die verwalteten Richtlinien beschrieben, die Sie verwenden können.

**Topics**
+ [Amplify](#managed-cache-policy-amplify)
+ [CachingDisabled](#managed-cache-policy-caching-disabled)
+ [CachingOptimized](#managed-cache-caching-optimized)
+ [CachingOptimizedForUncompressedObjects](#managed-cache-caching-optimized-uncompressed)
+ [Elemental-MediaPackage](#managed-cache-policy-mediapackage)
+ [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers)
+ [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings)

## Amplify
<a name="managed-cache-policy-amplify"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/2e54312d-136d-493c-8eb9-b001f22f67d2)

Diese Richtlinie wurde für die Verwendung mit einem Ursprung entwickelt, bei dem es sich um eine [AWS Amplify](https://aws.amazon.com/amplify/)-Web-App handelt.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`2e54312d-136d-493c-8eb9-b001f22f67d2`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 2 Sekunden
+ **Höchst-TTL:** 600 Sekunden (10 Minuten)
+ **Standard-TTL:** 2 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Authorization`
  + `CloudFront-Viewer-Country`
  + `Host`

  Der normalisierte Header `Accept-Encoding` ist auch enthalten, da die Einstellung für komprimierte Cache-Objekte aktiviert ist. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Im Cache-Schlüssel enthaltene Cookies:** Alle Cookies sind enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Alle Abfragezeichenfolgen sind enthalten.
+ **Einstellung für komprimierte Cache-Objekte:** Aktiviert. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**Warnung**  
Da die Mindest-TTL dieser Richtlinie größer als 0 ist, speichert CloudFront Inhalte mindestens für die in der Mindest-TTL der Cache-Richtlinie angegebene Dauer im Cache, auch wenn die `Cache-Control: no-cache`-, `no-store`- oder `private`-Richtlinien in den Ursprungsheadern vorhanden sind.

### Cache-Richtlinien für AWS Amplify Hosting
<a name="additional-amplify-policies"></a>

Amplify verwendet die folgenden verwalteten Cache-Richtlinien, um die Standard-Cache-Konfiguration für Kundenanwendungen zu optimieren:
+ [Amplify-Default](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4d1d2f1d-3a71-49ad-9e08-7ea5d843a556)
+ [Amplify-DefaultNoCookies](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/a6bad946-36c3-4c33-aa98-362c74a7fb13)
+ [Amplify-ImageOptimization](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/1c6db51a-a33f-469a-8245-dae26771f530)
+ [Amplify-StaticContent](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/7e5fad67-ee98-4ad0-b05a-394999eefc1a)

**Anmerkung**  
Diese Richtlinien werden nur von Amplify verwendet. Es ist nicht zu empfehlen, diese Richtlinien für Ihre Distributionen zu verwenden. 

Weitere Informationen zur Verwaltung der Cache-Konfiguration für Ihre von Amplify gehostete Anwendung finden Sie unter [Verwaltung der Cache-Konfiguration](https://docs.aws.amazon.com/amplify/latest/userguide/caching.html) im *Benutzerhandbuch für Amplify Hosting*.

## CachingDisabled
<a name="managed-cache-policy-caching-disabled"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4135ea2d-6df8-44a3-9df3-4b5a84be39ad)

Diese Richtlinie deaktiviert die Zwischenspeicherung. Diese Richtlinie ist für dynamische Inhalte und für Anforderungen nützlich, die nicht zwischengespeichert werden können.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`4135ea2d-6df8-44a3-9df3-4b5a84be39ad`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Höchst-TTL:** 0 Sekunden
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:** Keine
+ **Im Cache-Schlüssel enthaltene Cookies:** Keine
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Keine
+ **Einstellung für komprimierte Cache-Objekte:** Deaktiviert

## CachingOptimized
<a name="managed-cache-caching-optimized"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/658327ea-f89d-4fab-a63d-7e88639e58f6)

Diese Richtlinie wurde zur Optimierung der Cache-Effizienz entwickelt, indem sie die von CloudFront in den Cache-Schlüssel eingefügten Werte minimiert. CloudFront schließt keine Abfragezeichenfolgen oder Cookies in den Cache-Schlüssel ein, sondern nur den normalisierten `Accept-Encoding`-Header. So kann CloudFront Objekte in den Kompressionsformaten Gzip und Brotli getrennt zwischenspeichern, wenn der Ursprung sie zurückgibt oder die [CloudFront-Edge-Komprimierung](ServingCompressedFiles.md) aktiviert ist.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`658327ea-f89d-4fab-a63d-7e88639e58f6`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 1 Sekunde
+ **Höchst-TTL:** 31.536.000 Sekunden (365 Tage).
+ **Standard-TTL:** 86.400 Sekunden (24 Stunden).
+ **Im Cache-Schlüssel enthaltene Header:** Es werden keine Header explizit eingefügt. Der normalisierte Header `Accept-Encoding` ist enthalten, da die Einstellung für komprimierte Cache-Objekte aktiviert ist. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Im Cache-Schlüssel enthaltene Cookies:** Keine.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Keine.
+ **Einstellung für komprimierte Cache-Objekte:** Aktiviert. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**Warnung**  
Da die Mindest-TTL dieser Richtlinie größer als 0 ist, speichert CloudFront Inhalte mindestens für die in der Mindest-TTL der Cache-Richtlinie angegebene Dauer im Cache, auch wenn die `Cache-Control: no-cache`-, `no-store`- oder `private`-Richtlinien in den Ursprungsheadern vorhanden sind.

## CachingOptimizedForUncompressedObjects
<a name="managed-cache-caching-optimized-uncompressed"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/b2884449-e4de-46a7-ac36-70bc7f1ddd6d)

Diese Richtlinie wurde zur Optimierung der Cache-Effizienz entwickelt, indem die in den Cache-Schlüssel eingefügten Werte minimiert werden. Es sind keine Abfragezeichenfolgen, Header oder Cookies enthalten. Diese Richtlinie ist identisch mit der vorherigen Richtlinie; die Einstellung für komprimierte Cache-Objekte ist jedoch deaktiviert.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`b2884449-e4de-46a7-ac36-70bc7f1ddd6d`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 1 Sekunde
+ **Höchst-TTL:** 31.536.000 Sekunden (365 Tage)
+ **Standard-TTL:** 86.400 Sekunden (24 Stunden)
+ **Im Cache-Schlüssel enthaltene Header:** Keine
+ **Im Cache-Schlüssel enthaltene Cookies:** Keine
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Keine
+ **Einstellung für komprimierte Cache-Objekte:** Deaktiviert

**Warnung**  
Da die Mindest-TTL dieser Richtlinie größer als 0 ist, speichert CloudFront Inhalte mindestens für die in der Mindest-TTL der Cache-Richtlinie angegebene Dauer im Cache, auch wenn die `Cache-Control: no-cache`-, `no-store`- oder `private`-Richtlinien in den Ursprungsheadern vorhanden sind.

## Elemental-MediaPackage
<a name="managed-cache-policy-mediapackage"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/08627262-05a9-4f76-9ded-b50ca2e3a84f)

Diese Richtlinie wurde für die Verwendung mit einem Ursprung entwickelt, bei dem es sich um einen AWS Elemental MediaPackage-Endpunkt handelt.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`08627262-05a9-4f76-9ded-b50ca2e3a84f`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Höchst-TTL:** 31.536.000 Sekunden (365 Tage)
+ **Standard-TTL:** 86.400 Sekunden (24 Stunden)
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Origin`

  Der normalisierte Header `Accept-Encoding` ist enthalten, da die Einstellung für komprimierte Cache-Objekte für Gzip aktiviert ist. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Im Cache-Schlüssel enthaltene Cookies:** Keine
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:**
  + `aws.manifestfilter`
  + `start`
  + `end`
  + `m`
+ **Einstellung für komprimierte Cache-Objekte:** Für Gzip aktiviert. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

## UseOriginCacheControlHeaders
<a name="managed-cache-policy-origin-cache-headers"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/83da9c7e-98b4-4e11-a168-04f0df8e2c65)

Diese Richtlinie ist für die Verwendung mit einem Ursprung konzipiert, der die HTTP-Antwortheader `Cache-Control` zurückgibt und keine unterschiedlichen Inhalte bereitstellt, die auf den in der Abfragezeichenfolge vorhandenen Werten basieren. Wenn Ihr Ursprung abhängig von den Werten in der Abfragezeichenfolge unterschiedliche Inhalte bereitstellt, sollten Sie die Verwendung von [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings) in Betracht ziehen.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`83da9c7e-98b4-4e11-a168-04f0df8e2c65`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Höchst-TTL:** 31.536.000 Sekunden (365 Tage)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  Der normalisierte Header `Accept-Encoding` ist auch enthalten, da die Einstellung für komprimierte Cache-Objekte aktiviert ist. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Im Cache-Schlüssel enthaltene Cookies:** Alle Cookies sind enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Keine.
+ **Einstellung für komprimierte Cache-Objekte:** Aktiviert. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

## UseOriginCacheControlHeaders-QueryStrings
<a name="managed-cache-policy-origin-cache-headers-query-strings"></a>

[Diese Richtlinie in der CloudFront-Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4cc15a8a-d715-48a4-82b8-cc0b614638fe)

Diese Richtlinie ist für die Verwendung mit einem Ursprung konzipiert, der die HTTP-Antwortheader `Cache-Control` zurückgibt und unterschiedliche Inhalte bereitstellt, die auf den in der Abfragezeichenfolge vorhandenen Werten basieren. Wenn Ihr Ursprung abhängig von den Werten in der Abfragezeichenfolge keine unterschiedlichen Inhalte bereitstellt, sollten Sie die Verwendung von [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers) in Betracht ziehen.

Wenn Sie CloudFormation, die AWS CLI oder die CloudFront-API verwenden, lautet die ID für diese Richtlinie:

`4cc15a8a-d715-48a4-82b8-cc0b614638fe`

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Höchst-TTL:** 31.536.000 Sekunden (365 Tage)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  Der normalisierte Header `Accept-Encoding` ist auch enthalten, da die Einstellung für komprimierte Cache-Objekte aktiviert ist. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Im Cache-Schlüssel enthaltene Cookies:** Alle Cookies sind enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Alle Abfragezeichenfolgen sind enthalten.
+ **Einstellung für komprimierte Cache-Objekte:** Aktiviert. Weitere Informationen finden Sie unter [Komprimierungsunterstützung](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

# Grundlegendes zum Cache-Schlüssel
<a name="understanding-the-cache-key"></a>

Der *Cache-Schlüssel* bestimmt, ob eine Viewer-Anforderung an einen CloudFront-Edge-Standort zu einem *Cache-Treffer* führt. Der Cache-Schlüssel ist der eindeutige Bezeichner für ein Objekt im Cache. Jedes Objekt im Cache verfügt über einen eindeutigen Cache-Schlüssel.

Ein Cache-Treffer tritt auf, wenn eine Viewer-Anforderung denselben Cache-Schlüssel wie eine vorherige Anforderung generiert und sich das Objekt für diesen Cache-Schlüssel im Cache des Edge-Standorts befindet und gültig ist. Wenn es einen Cache-Treffer gibt, wird das angeforderte Objekt an den Viewer von einem CloudFront-Edge-Standort 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 in den folgenden Abschnitten.

Sie können die Werte (URL-Abfragezeichenfolgen, HTTP-Header und Cookies) im Cache-Schlüssel mithilfe einer [Cache-Richtlinie](controlling-the-cache-key.md) ändern. (Sie können den Cache-Schlüssel auch ändern, indem Sie eine [Lambda@Edge-Funktion](lambda-at-the-edge.md) oder eine [CloudFront-Funktion](cloudfront-functions.md) für eine Viewer-Anforderung verwenden.) Bevor Sie den Cache-Schlüssel ändern, ist es wichtig zu verstehen, wie Ihre Anwendung entworfen ist und wann und wie sie verschiedene Antworten basierend auf den Eigenschaften der Viewer-Anforderung bereitstellen kann. Wenn ein Wert in der Viewer-Anforderung die Antwort bestimmt, die Ihr Ursprung zurückgibt, sollten Sie diesen Wert in den Cache-Schlüssel aufnehmen. Wenn Sie jedoch einen Wert in den Cache-Schlüssel einfügen, der sich nicht auf die Antwort auswirkt, die Ihr Ursprung zurückgibt, kann es passieren, dass Sie doppelte Objekte zwischenspeichern.

## Standard-Cache-Schlüssel
<a name="cache-key-default"></a>

Standardmäßig enthält der Cache-Schlüssel für eine CloudFront-Distribution die folgenden Informationen:
+ Der Domänenname der CloudFront-Distribution (z. B. d111111abcdef8.cloudfront.net)
+ Der URL-Pfad des angeforderten Objekts (z. B, `/content/stories/example-story.html`)

**Anmerkung**  
Die`OPTIONS`-Methode ist im Cache-Schlüssel für `OPTIONS`-Anforderungen enthalten. Dies bedeutet, dass Antworten auf `OPTIONS`-Anforderungen getrennt von Antworten auf `GET`- und `HEAD`-Anforderungen zwischengespeichert werden.

Andere Werte aus der Viewer-Anforderung sind standardmäßig nicht im Cache-Schlüssel enthalten. Betrachten Sie die folgende HTTP-Anforderung von einem Webbrowser.

```
            GET /content/stories/example-story.html?ref=0123abc&split-pages=false HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/68.0
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=01234abcd
            Referer: https://news.example.com/
```

Wenn eine Viewer-Anforderung wie in diesem Beispiel dargestellt an einen CloudFront-Edge-Standort gesendet wird, verwendet CloudFront den Cache-Schlüssel, um festzustellen, ob ein Cache-Treffer vorliegt. Standardmäßig sind nur die folgenden Komponenten der Anforderung im Cache-Schlüssel enthalten: `/content/stories/example-story.html` und `d111111abcdef8.cloudfront.net`. Wenn sich das angeforderte Objekt nicht im Cache befindet (ein „Cache-Fehler“), sendet CloudFront eine Anforderung an den Ursprung, um das Objekt zu erhalten. CloudFront gibt das Objekt nach dem Abrufen an den Viewer zurück und speichert es im Cache des Edge-Standorts.

Wenn CloudFront eine weitere Anforderung für dasselbe Objekt empfängt, wie durch den Cache-Schlüssel bestimmt, sendet CloudFront das zwischengespeicherte Objekt sofort an den Viewer, ohne eine Anforderung an den Ursprung zu senden. Beachten Sie beispielsweise die folgende HTTP-Anforderung, die nach der vorherigen Anforderung eingeht.

```
            GET /content/stories/example-story.html?ref=xyz987&split-pages=true HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 AppleWebKit/537.36 Chrome/83.0.4103.116
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=wxyz9876
            Referer: https://rss.news.example.net/
```

Diese Anforderung gilt für dasselbe Objekt wie die vorherige Anforderung, unterscheidet sich jedoch von der vorherigen Anforderung. Sie hat eine andere URL-Abfragezeichenfolge, verschiedene `User-Agent`- und `Referer`-Header und ein anderes `session_id`- Cookie. Keiner dieser Werte ist jedoch standardmäßig Teil des Cache-Schlüssels, so dass diese zweite Anforderung zu einem Cache-Treffer führt.

## Anpassen des Cache-Schlüssels
<a name="cache-key-custom"></a>

In einigen Fällen möchten Sie möglicherweise mehr Informationen in den Cache-Schlüssel aufnehmen, obwohl dies zu weniger Cache-Treffern führen kann. Sie können angeben, was in dem Cache-Schlüssel enthalten sein soll, indem Sie eine [Cache-Richtlinie](controlling-the-cache-key.md) verwenden.

Wenn Ihr Ursprungs-Server beispielsweise den `Accept-Language`-HTTP-Header in Viewer-Anforderungen verwendet, um unterschiedliche Inhalte basierend auf der Sprache des Viewers zurückzugeben, sollten Sie diesen Header möglicherweise in den Cache-Schlüssel einfügen. Wenn Sie dies tun, verwendet CloudFront diesen Header, um Cache-Treffer zu bestimmen, und schließt den Header in *Ursprungsanforderungen* ein (Anforderungen, die von CloudFront an den Ursprung gesendet werden, wenn ein Cache Fehler auftritt).

Eine potenzielle Folge der Aufnahme zusätzlicher Werte in den Cache-Schlüssel besteht darin, dass CloudFront aufgrund der Abweichungen, die in Viewer-Anforderungen auftreten können möglicherweise doppelte Objekte zwischenspeichert. Beispielsweise können Viewer einen der folgenden Werte für die `Accept-Language`-Header senden:
+ `en-US,en`
+ `en,en-US`
+ `en-US, en`
+ `en-US`

Alle diese unterschiedlichen Werte weisen darauf hin, dass die Sprache des Viewers Englisch ist, aber die Abweichungen können dazu führen, dass CloudFront dasselbe Objekt mehrmals im Cache zwischenspeichert. Dies kann Cache-Treffer reduzieren und die Anzahl der Ursprungsanforderungen erhöhen. Sie können diese Dopplung vermeiden, indem Sie den `Accept-Language`-Header nicht in den Cache-Schlüssel einfügen und stattdessen Ihre Website oder Anwendung so konfigurieren, dass verschiedene URLs für Inhalte in verschiedenen Sprachen verwendet werden (z. B. `/en-US/content/stories/example-story.html`).

Bei jedem gegebenen Wert, den Sie in den Cache-Schlüssel einschließen möchten, sollten Sie sicherstellen, dass Sie verstehen, wie viele verschiedene Variationen dieses Werts in Viewer-Anforderungen angezeigt werden können. Bei bestimmten Anforderungswerten ist es selten sinnvoll, sie in den Cache-Schlüssel aufzunehmen. Beispielsweise kann der `User-Agent`-Header Tausende von eindeutigen Variationen haben, daher ist er im Allgemeinen kein guter Kandidat für die Aufnahme in den Cache-Schlüssel. Cookies, die benutzerspezifische oder sitzungsspezifische Werte aufweisen und über Tausende (oder sogar Millionen) von Anforderungen eindeutig sind, sind auch keine guten Kandidaten für die Aufnahme in Cache-Schlüssel. Wenn Sie diese Werte in den Cache-Schlüssel aufnehmen, führt jede eindeutige Variation zu einer weiteren Kopie des Objekts im Cache. Wenn diese Kopien des Objekts nicht eindeutig sind oder wenn Sie eine so großen Anzahl von leicht unterschiedlichen Objekten haben, dass jedes Objekt nur eine kleine Anzahl von Cache-Treffern erhält, sollten Sie einen anderen Ansatz in Betracht ziehen. Sie können diese hochvariablen Werte aus dem Cache-Schlüssel ausschließen oder Objekte als nicht zwischenspeicherbar markieren.

Seien Sie vorsichtig, wenn Sie den Cache-Schlüssel anpassen. Manchmal ist dies wünschenswert, es kann aber unbeabsichtigte Konsequenzen haben, wie z. B. das Zwischenspeichern von doppelten Objekten, die Verringerung der Cache-Trefferquote und die Erhöhung der Anzahl der Ursprungsanforderungen. Wenn Ihre Ursprungs-Website oder -Anwendung bestimmte Werte von Viewer-Anforderungen für Analysen, Telemetrie oder andere Verwendungszwecke erhalten muss, diese Werte jedoch das vom Ursprung zurückgegebene Objekt nicht ändern, verwenden Sie eine [Ursprungsanforderungsrichtlinie](controlling-origin-requests.md) um diese Werte in Ursprungsanforderungen einzuschließen, sie aber *nicht* in den Cache-Schlüssel aufzunehmen.