

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.

# Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf)
<a name="Expiration"></a>

Sie können steuern, wie lange Ihre Dateien in einem CloudFront-Cache zwischengespeichert werden, bevor CloudFront eine weitere Anforderung an Ihren Ursprung weiterleitet. Eine Reduzierung der Dauer ermöglicht Ihnen, dynamische Inhalte bereitzustellen. Eine Erhöhung der Dauer bedeutet, dass Ihre Benutzer eine bessere Leistung erhalten, da es wahrscheinlicher ist, dass Ihre Dateien direkt vom Edge-Cache bereitgestellt werden. Eine längere Dauer verringert darüber hinaus die Last auf Ihrem Ursprung.

In der Regel stellt CloudFront eine Datei von einem Edge-Standort bereit, bis die festgelegte Cache-Dauer vergangen ist – d. h. bis die Datei abläuft. Wenn der Edge-Standort nach dem Ablauf eine Anfrage für die Datei erhält, leitet CloudFront die Anfrage an den Ursprung weiter, um sicherzustellen, dass der Cache die neueste Version der Datei enthält. Die Antwort vom Ursprung hängt davon ab, ob die Datei geändert wurde:
+ Wenn der CloudFront-Cache bereits über die neueste Version verfügt, gibt der Ursprung den Statuscode zurüc `304 Not Modified`.
+ Wenn der CloudFront-Cache nicht über die neueste Version verfügt, gibt der Ursprung den Statuscode `200 OK` und die neueste Version der Datei zurück.

Wenn eine Datei an einem Edge-Standort nicht häufig angefordert wird, beseitigt CloudFront die Datei möglicherweise, d. h. entfernt die Datei vor dem Ablaufdatum, um Platz für häufiger angeforderte Dateien zu schaffen.

Wir empfehlen, die Cache-Dauer zu verwalten, indem Sie die Cache-Richtlinie Ihrer Distribution aktualisieren. Wenn Sie keine Cache-Richtlinie verwenden, beträgt die Standard-TTL (Time to Live) 24 Stunden. Sie können jedoch die folgenden Einstellungen aktualisieren, um die Standardeinstellung zu überschreiben:
+ Um die Cache-Dauer für alle Dateien mit demselben Pfadmuster zu ändern, können Sie die CloudFront-Einstellungen für **Mindest-TTL**, **Höchst-TTL** und **Standard-TTL** für ein Cache-Verhalten ändern. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter [Mindest-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMinTTL), [Höchst-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMaxTTL) und [Standard-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesDefaultTTL).
+ Um die Cache-Dauer für eine einzelne Datei zu ändern, können Sie Ihren Ursprung so konfigurieren, dass ein `Cache-Control`-Header mit der `max-age`- oder `s-maxage`-Richtlinie oder ein `Expires`-Header zu der Datei hinzugefügt wird. Weitere Informationen finden Sie unter [Verwenden von Headern zum Steuern der Cache-Dauer für einzelne Objekte](#expiration-individual-objects).

Weitere Informationen dazu, wie **Mindest-TTL**, **Standard-TTL** und **Höchst-TTL** mit `max-age`- und `s-maxage`-Richtlinien und dem `Expires`-Header-Feld interagieren, finden Sie unter [Angeben der Zeitspanne, die CloudFront Objekte zwischenspeichert](#ExpirationDownloadDist).

Darüber hinaus können Sie steuern, wie lange Fehler (z. B. `404 Not Found`) in einem CloudFront-Cache zwischengespeichert werden, bevor CloudFront erneut versucht, das angeforderte Objekt durch Weiterleiten einer weiteren Anforderung an Ihren Ursprung abzurufen. Weitere Informationen finden Sie unter [Wie CloudFront werden die HTTP-Statuscodes 4xx und 5xx von Ihrem Ursprung verarbeitet](HTTPStatusCodes.md).

**Topics**
+ [Verwenden von Headern zum Steuern der Cache-Dauer für einzelne Objekte](#expiration-individual-objects)
+ [Bereitstellung veralteter (abgelaufener) Inhalte](#stale-content)
+ [Angeben der Zeitspanne, die CloudFront Objekte zwischenspeichert](#ExpirationDownloadDist)
+ [Hinzufügen von Headern zu Ihren Objekten mithilfe der Amazon-S3-Konsole](#ExpirationAddingHeadersInS3)

## Verwenden von Headern zum Steuern der Cache-Dauer für einzelne Objekte
<a name="expiration-individual-objects"></a>

Sie können die Header `Cache-Control` und `Expires` verwenden, um zu steuern, wie lange Objekte im Cache zwischengespeichert werden. Die Einstellungen für **Mindest-TTL**, **Standard-TTL** und **Höchst-TTL** wirken sich auch auf die Cache-Dauer aus. Im Folgenden finden Sie einen Überblick darüber, wie sich Header auf die Cache-Dauer auswirken können: 
+ Mit der `Cache-Control max-age`-Richtlinie können Sie festlegen, wie lange (in Sekunden) ein Objekt im Cache zwischengespeichert werden soll, bevor CloudFront das Objekt erneut vom Ursprungs-Server abruft. Die minimale Ablaufzeit, die CloudFront unterstützt, beträgt 0 Sekunden. Die Höchstwert beträgt 100 Jahre. Geben Sie den Wert im folgenden Format an:

  `Cache-Control: max-age=`*Sekunden*

  Beispielsweise veranlasst die folgende Richtlinie, dass CloudFront das zugehörige Objekt für 3600 Sekunden (1 Stunde) im Cache behält:

  `Cache-Control: max-age=3600`

  Wenn Sie möchten, dass Objekte für unterschiedliche Zeiträume in CloudFront-Edge-Caches und in Browser-Caches zwischengespeichert werden, können Sie die `Cache-Control max-age`- und die `Cache-Control s-maxage`-Richtlinie zusammen verwenden. Weitere Informationen finden Sie unter [Angeben der Zeitspanne, die CloudFront Objekte zwischenspeichert](#ExpirationDownloadDist).
+ Im `Expires`-Header-Feld können Sie ein Ablaufdatum und eine Ablaufzeit festlegen. Verwenden Sie dafür das in [RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1 Abschnitt 3.3.1, Full Date](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) angegebene Format, zum Beispiel:

  `Sat, 27 Jun 2015 23:59:59 GMT`

Wir empfehlen, die `Cache-Control max-age`-Richtlinie anstelle des `Expires`-Header-Felds zum Steuern der Zwischenspeicherung von Objekten zu verwenden. Wenn Sie sowohl für `Cache-Control max-age` als auch für `Expires` Werte festlegen, verwendet CloudFront nur den Wert von `Cache-Control max-age`.

Weitere Informationen finden Sie unter [Angeben der Zeitspanne, die CloudFront Objekte zwischenspeichert](#ExpirationDownloadDist).

Sie können nicht die HTTP-Header-Felder `Cache-Control` oder `Pragma` in einer `GET`-Anforderung von einem Viewer verwenden, um zu erzwingen, dass CloudFront für das Objekt zum Ursprungs-Server zurückkehrt. CloudFront ignoriert diese Header-Felder in Viewer-Anforderungen.

Weitere Informationen zu den Header-Feldern `Cache-Control` und `Expires` finden Sie in den folgenden Abschnitt in *RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1*: 
+ [Abschnitt 14.9 Cache-Kontrolle](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9)
+ [Abschnitt 14.21 Läuft ab](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21)

## Bereitstellung veralteter (abgelaufener) Inhalte
<a name="stale-content"></a>

CloudFront unterstützt die Cache-Kontrolldirektiven `Stale-While-Revalidate` und `Stale-If-Error`. Mit diesen Direktiven können Sie angeben, wie lange veraltete Inhalte für Viewer verfügbar sind.

**Topics**
+ [`Stale-While-Revalidate`](#stale-while-revalidate)
+ [`Stale-If-Error`](#stale-if-error-only)
+ [Verwenden beider Direktiven](#use-both-stale-directives)

### `Stale-While-Revalidate`
<a name="stale-while-revalidate"></a>

Diese Direktive ermöglicht es CloudFront, veraltete Inhalte aus dem Cache bereitzustellen, während gleichzeitig asynchron eine neue Version vom Ursprung abgerufen wird. Dies verbessert die Latenz, da Viewer sofort Antworten von Edge-Standorten erhalten, ohne auf den Abruf im Hintergrund warten zu müssen. Neue Inhalte werden für zukünftige Anforderungen im Hintergrund geladen.

**Example Beispiel: `Stale-While-Revalidate`**  
CloudFront geht wie folgt vor, wenn Sie den `Cache-Control`-Header so einrichten, dass er diese Direktiven verwendet.   

```
Cache-Control: max-age=3600, stale-while-revalidate=600
```

1. CloudFront speichert eine Antwort für eine Stunde (`max-age=3600`).

1. Wenn nach diesem Zeitraum eine Anforderung gestellt wird, stellt CloudFront den veralteten Inhalt bereit und sendet gleichzeitig eine Anforderung an den Ursprung, um den zwischengespeicherten Inhalt erneut zu validieren und zu aktualisieren. 

1. Während der Inhalt erneut validiert wird, stellt CloudFront den veralteten Inhalt bis zu 10 Minuten lang (`stale-while-revalidate=600`) bereit.

**Anmerkung**  
CloudFront stellt den veralteten Inhalt bis zum Wert der Direktive `stale-while-revalidate` oder dem Wert der [CloudFront-Höchst-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMaxTTL) zur Verfügung, je nachdem, welcher Wert niedriger ist. Nach Ablauf der maximalen TTL-Dauer ist das veraltete Objekt unabhängig vom Wert `stale-while-revalidate` nicht mehr im Edge-Cache verfügbar. 

### `Stale-If-Error`
<a name="stale-if-error-only"></a>

Diese Direktive ermöglicht es CloudFront, veraltete Inhalte aus dem Cache bereitzustellen, wenn der Ursprung nicht erreichbar ist oder einen Fehlercode zwischen 500 und 600 zurückgibt. Dadurch wird sichergestellt, dass Viewer auch während eines Ausfalls des Ursprungs auf Inhalte zugreifen können.

**Example Beispiel: `Stale-If-Error`**  
CloudFront geht wie folgt vor, wenn Sie den `Cache-Control`-Header so einrichten, dass er diese Direktiven verwendet.   

```
Cache-Control: max-age=3600, stale-if-error=86400
```

1. CloudFront speichert die Antwort für eine Stunde (`max-age=3600`) im Cache.

1. Wenn der Ursprung ausgefallen ist oder nach diesem Zeitraum ein Fehler zurückgibt, stellt CloudFront den veralteten Inhalt bis zu 24 Stunden lang bereit (`stale-if-error=86400`).

1. Wenn Sie benutzerdefinierte Fehlerantworten konfiguriert haben, versucht CloudFront, den veralteten Inhalt bereitzustellen, wenn innerhalb der angegebenen Dauer von `stale-if-error` ein Fehler auftritt. Wenn der veraltete Inhalt nicht verfügbar ist, stellt CloudFront die benutzerdefinierten Fehlerantworten bereit, die Sie für den entsprechenden Fehlerstatuscode konfiguriert haben. Weitere Informationen finden Sie unter [Erstellen von benutzerdefinierten Fehlerantworten](GeneratingCustomErrorResponses.md).

**Hinweise**  
CloudFront stellt den veralteten Inhalt bis zum Wert der Direktive `stale-if-error` oder dem Wert der [CloudFront-Höchst-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMaxTTL) zur Verfügung, je nachdem, welcher Wert niedriger ist. Nach Ablauf der maximalen TTL-Dauer ist das veraltete Objekt unabhängig vom Wert `stale-if-error` nicht mehr im Edge-Cache verfügbar. 
Wenn Sie `stale-if-error` nicht konfigurieren oder keine benutzerdefinierten Fehlerantworten festlegen, gibt CloudFront das veraltete Objekt zurück oder leitet die Fehlerantwort zurück an den Viewer, je nachdem, ob sich das angeforderte Objekt im Edge-Cache befindet oder nicht. Weitere Informationen finden Sie unter [Wie CloudFront werden Fehler verarbeitet, wenn Sie keine benutzerdefinierten Fehlerseiten konfiguriert haben](HTTPStatusCodes.md#HTTPStatusCodes-no-custom-error-pages).

### Verwenden beider Direktiven
<a name="use-both-stale-directives"></a>

`stale-while-revalidate` und `stale-if-error` sind unabhängige Cache-Kontrolldirektiven, die zusammen verwendet werden können, um die Latenz zu reduzieren und einen Puffer hinzuzufügen, damit Ihr Ursprung reagieren oder sich erholen kann.

**Example Beispiel: Verwendung beider Direktiven**  
CloudFront geht wie folgt vor, wenn Sie den `Cache-Control`-Header so einrichten, dass er die folgenden Direktiven verwendet.   

```
Cache-Control: max-age=3600, stale-while-revalidate=600, stale-if-error=86400
```

1. CloudFront speichert die Antwort für eine Stunde (`max-age=3600`) im Cache. 

1. Wenn nach diesem Zeitraum eine Anforderung gestellt wird, stellt CloudFront den veralteten Inhalt bis zu 10 Minuten (`stale-while-revalidate=600`) bereit, während der Inhalt erneut überprüft wird. 

1. Wenn der Ursprungsserver einen Fehler zurückgibt, während CloudFront versucht, den Inhalt erneut zu validieren, stellt CloudFront den veralteten Inhalt bis zu 24 Stunden lang bereit (`stale-if-error=86400`).

Caching stellt ein Gleichgewicht zwischen Leistung und Aktualität her. Die Verwendung von Richtlinien wie `stale-while-revalidate` und `stale-if-error` kann die Leistung und den Benutzerkomfort verbessern. Achten Sie jedoch darauf, dass die Konfigurationen darauf abgestimmt sind, wie aktuell Ihre Inhalte sein sollen. Richtlinien für veraltete Inhalte eignen sich am besten für Anwendungsfälle, in denen Inhalte aktualisiert werden müssen, die neueste Version jedoch nicht unbedingt erforderlich ist. Wenn sich Ihr Inhalt nicht oder nur selten ändert, kann `stale-while-revalidate` außerdem zu unnötigen Netzwerkanforderungen führen. Erwägen Sie stattdessen, eine lange Cachedauer festzulegen.

## Angeben der Zeitspanne, die CloudFront Objekte zwischenspeichert
<a name="ExpirationDownloadDist"></a>

Um die Zeit zu steuern, die CloudFront ein Objekt im Cache hält, bevor eine weitere Anfrage an den Ursprung gesendet wird, können Sie:
+ Die minimalen, maximalen und standardmäßigen TTL-Werte im Cache-Verhalten einer CloudFront-Verteilung festlegen. Sie können diese Werte in einer [Cache-Richtlinie](controlling-the-cache-key.md) festlegen, die an das Cache-Verhalten (empfohlen) oder in den Legacy-Cache-Einstellungen angehängt ist.
+ Die `Cache-Control`- oder `Expires`-Header in Antworten vom Ursprung einschließen. Diese Header helfen auch zu bestimmen, wie lange ein Objekt in einem Browser-Cache zwischengespeichert wird, bevor eine weitere Anforderung an CloudFront gesendet wird.

In der folgenden Tabelle wird erläutert, wie die vom Ursprung gesendeten `Cache-Control`- und `Expires`-Header mit den TTL-Einstellungen in einem Cache-Verhalten zusammenarbeiten, um das Caching zu beeinflussen.


****  

| Urspung-Header | Mindest-TTL = 0 | Mindest-TTL > 0 | 
| --- | --- | --- | 
|  **Der Ursprung fügt dem Objekt eine `Cache-Control: max-age`-Richtlinie hinzu**  |  **CloudFront-Caching** CloudFront speichert das Objekt für den niedrigen der Werte der `Cache-Control: max-age`-Richtlinie und der CloudFront-Höchst-TTL zwischen. **Browser-Caching** Browser speichern das Objekt für den Wert der `Cache-Control: max-age`-Richtlinie zwischen.  |  **CloudFront-Caching** Die CloudFront-Zwischenspeicherung ist abhängig von den Werten der CloudFront-Mindest- und -Höchst-TTL sowie der `Cache-Control max-age`-Richtlinie: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) **Browser-Caching** Browser speichern das Objekt für den Wert der `Cache-Control: max-age`-Richtlinie zwischen.  | 
|  **Der Ursprung fügt dem Objekt keine `Cache-Control: max-age`-Richtlinie hinzu**  |  **CloudFront-Caching** CloudFront speichert das Objekt für den Wert der CloudFront-Standard-TTL zwischen. **Browser-Caching** Abhängig vom Browser.  |  **CloudFront-Caching** CloudFront speichert das Objekt für den höheren der Werte der CloudFront-Mindest-TTL und -Standard-TTL zwischen. **Browser-Caching** Abhängig vom Browser.  | 
|  **Der Ursprung fügt dem Objekt `Cache-Control: max-age`- und `Cache-Control: s-maxage`-Richtlinien hinzu**  |  **CloudFront-Caching** CloudFront speichert das Objekt für den niedrigen der Werte der `Cache-Control: s-maxage`-Richtlinie und der CloudFront-Höchst-TTL zwischen. **Browser-Caching** Browser speichern das Objekt für den Wert der `Cache-Control max-age`-Richtlinie zwischen.  |  **CloudFront-Caching** Die CloudFront-Zwischenspeicherung ist abhängig von den Werten der CloudFront-Mindest- und -Höchst-TTL sowie der `Cache-Control: s-maxage`-Richtlinie: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) **Browser-Caching** Browser speichern das Objekt für den Wert der `Cache-Control: max-age`-Richtlinie zwischen.  | 
|  **Der Ursprung fügt dem Objekt einen `Expires`-Header hinzu**  |  **CloudFront-Caching** CloudFront speichert das Objekt bis zum Datum im `Expires`-Header oder für den Wert der CloudFront-Höchst-TTL zwischen, je nachdem, welcher Zeitpunkt früher eintritt. **Browser-Caching** Browser speichern das Objekt bis zum Datum im `Expires`-Header zwischen.  |  **CloudFront-Caching** Die CloudFront-Zwischenspeicherung ist abhängig von den Werten der CloudFront-Mindest- und -Höchst-TTL sowie dem `Expires`-Header: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) **Browser-Caching** Browser speichern das Objekt bis zum Datum und der Uhrzeit im `Expires`-Header zwischen.  | 
|  **Der Ursprung fügt Objekten `Cache-Control: no-cache`-, `no-store`-, und/oder `private`-Richtlinien hinzu**  |  CloudFront und Browser berücksichtigen die Header.  |  **CloudFront-Caching** CloudFront speichert Objekte für den Wert der CloudFront-Mindest-TTL zwischen. [Siehe die Warnung unter dieser Tabelle](#stale-if-error). **Browser-Caching** Browser berücksichtigen die Header.  | 

**Warnung**  
Wenn Ihre Mindest-TTL größer als 0 ist, verwendet CloudFront die Mindest-TTL der Cache-Richtlinie, auch wenn die Direktiven `Cache-Control: no-cache`, `no-store` und/oder `private` in den Ursprungsheadern vorhanden sind.  
Wenn der Ursprung erreichbar ist, ruft CloudFront das Objekt vom Ursprung ab und gibt es an den Viewer zurück.
Wenn der Ursprung nicht erreichbar ist und die minimale oder *maximale* TTL größer als 0 ist, bedient CloudFront das Objekt, das es zuvor vom Ursprung erhalten hat.
Um dieses Verhalten zu vermeiden, schließen Sie die `Cache-Control: stale-if-error=0`-Richtlinie in das vom Ursprung zurückgegebene Objekt ein. Dies führt dazu, dass CloudFront als Reaktion auf zukünftige Anfragen einen Fehler zurückgibt, wenn der Ursprung nicht erreichbar ist, anstatt das Objekt zurückzugeben, das es zuvor vom Ursprung erhalten hat.
CloudFront speichert den HTTP-Statuscode 501 („Nicht implementiert“) von einem S3-Ursprung nicht im Cache, wenn die Ursprungsheader die Direktiven `Cache-Control: no-cache`, `no-store` und/oder `private` enthalten. Dies ist das Standardverhalten für einen S3-Ursprung, auch wenn Ihre Einstellung für die [Mindest-TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMinTTL) größer als 0 ist.

Weitere Informationen zum Ändern von Einstellungen für Verteilungen mithilfe der CloudFront-Konsole finden Sie unter [Eine Verteilung aktualisieren](HowToUpdateDistribution.md). Weitere Informationen zum Ändern von Einstellungen für Verteilungen mithilfe der CloudFront-API finden Sie unter [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).

## Hinzufügen von Headern zu Ihren Objekten mithilfe der Amazon-S3-Konsole
<a name="ExpirationAddingHeadersInS3"></a>

Sie können das Header-Feld `Cache-Control` oder `Expires` zu Ihren Amazon-S3-Objekten hinzufügen. Ändern Sie dazu die Metadatenfelder für das Objekt.

**So fügen Sie ein `Cache-Control`- oder `Expires`-Header-Feld zu Amazon-S3-Objekten hinzu**

1. Folgen Sie den Anleitungen im Abschnitt **Ersetzen systemdefinierter Metadaten** im Thema [Bearbeiten von Objektmetadaten in der Amazon-S3-Konsole](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-object-metadata.html) im *Benutzerhandbuch für Amazon S3*.

1. Wählen Sie für **Schlüssel** den Namen des Headers aus, den Sie hinzufügen (**Cache-Control** oder **Expires**).

1. Geben Sie für **Wert** einen Header-Wert ein. Zum Beispiel könnten Sie für einen `Cache-Control`-Header `max-age=86400` eingeben. Für `Expires` könnten Sie ein Ablaufdatum und eine Uhrzeit wie `Wed, 30 Jun 2021 09:28:00 GMT` eingeben.

1. Folgen Sie den restlichen Schritten, um Ihre Metadatenänderungen zu speichern.