

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.

# Verwaltung der Cache-Konfiguration für eine App
<a name="caching"></a>

Amplify verwendet Amazon CloudFront , um die Caching-Konfiguration für Ihre gehosteten Anwendungen zu verwalten. Auf jede App wird eine Cache-Konfiguration angewendet, um die beste Leistung zu erzielen.

Am 13. August 2024 veröffentlichte Amplify Verbesserungen der Caching-Effizienz für Anwendungen. Weitere Informationen finden Sie unter [Verbesserungen des CDN-Cachings für eine bessere App-Leistung](https://aws.amazon.com/blogs/mobile/cdn-caching-improvements-for-better-app-performance-with-aws-amplify-hosting/) beim Hosting. AWS Amplify 

Die folgende Tabelle fasst die Amplify-Unterstützung für bestimmte Caching-Verhaltensweisen vor und nach der Veröffentlichung der Caching-Verbesserungen zusammen.


| Caching-Verhalten | Bisherige Unterstützung | Mit Verbesserungen beim Zwischenspeichern | 
| --- | --- | --- | 
| Sie können benutzerdefinierte Header für eine App in der Amplify-Konsole oder in einer `customHeaders.yaml` Datei hinzufügen. Einer der Header, die Sie überschreiben können, ist. `Cache-Control` Weitere Informationen finden Sie unter [Benutzerdefinierte Header für eine Amplify-App einrichten](custom-headers.md). | Ja | Ja | 
|  Amplify respektiert die `Cache-Control` Header, die Sie in einer `customHeaders.yaml` Datei definieren, und sie haben Vorrang vor den Standard-Cache-Einstellungen von Amplify.  | Ja | Ja | 
|  Amplify respektiert die `Cache-Control` Header, die im Framework einer Anwendung für dynamische Routen festgelegt sind (z. B. Next.js SSR-Routen). Wenn in der Datei der App ein `Cache-Control` Header festgelegt ist, hat dieser Vorrang vor den Einstellungen in der `customHeaders.yaml` Datei. `next.config.js`  |  Ja  |  Ja  | 
| Bei jeder neuen CI/CD App-Bereitstellung wird der Cache geleert. |  Ja  |  Ja  | 
|  Sie können den Leistungsmodus für eine App aktivieren.  | Ja | NeinDie Einstellung für den Leistungsmodus ist in der Amplify-Konsole nicht mehr verfügbar. Sie können jedoch einen `Cache-Control` Header erstellen, der die `s-maxage` Direktive festlegt. Detaillierte Anweisungen finden Sie unter [Verwenden des Cache-Control-Headers zur Steigerung der App-Leistung](Using-headers-to-control-cache-duration.md). | 

In der folgenden Tabelle sind die Änderungen an den Standardwerten für bestimmte Cache-Einstellungen aufgeführt.


| Cache-Einstellung | Vorheriger Standardwert | Standardwert mit Verbesserungen beim Zwischenspeichern | 
| --- | --- | --- | 
|  Cache-Dauer für statische Objekte  |  Zwei Sekunden  |  Ein Jahr  | 
|  Cache-Dauer für Reverse-Proxy-Antworten  |  Zwei Sekunden  |  Null Sekunden (kein Caching)  | 
|  Max. Lebenszeit (TTL)  |  Zehn Minuten  |  Ein Jahr  | 

Weitere Informationen darüber, wie Amplify die Caching-Konfiguration bestimmt, die auf eine Anwendung angewendet werden soll, sowie Anweisungen zur Verwaltung der Cache-Schlüsselkonfiguration finden Sie in den folgenden Themen.

**Topics**
+ [Wie Amplify die Cache-Konfiguration auf eine App anwendet](cache-configuration-type.md)
+ [Verwaltung von Cache-Schlüssel-Cookies](cache-key-cookies.md)
+ [Verwenden des Cache-Control-Headers zur Steigerung der App-Leistung](Using-headers-to-control-cache-duration.md)

# Wie Amplify die Cache-Konfiguration auf eine App anwendet
<a name="cache-configuration-type"></a>

Um das Caching für Ihre App zu verwalten, bestimmt Amplify die Art des Inhalts, der bereitgestellt wird, indem es den Plattformtyp der App und die Umschreibungsregeln untersucht. Für `Compute` Apps untersucht Amplify auch die Routing-Regeln im Bereitstellungsmanifest.

**Anmerkung**  
Der Plattformtyp der App wird von Amplify Hosting während der Bereitstellung festgelegt. Eine SSG-App (statisch) ist auf den Plattformtyp eingestellt. `WEB` Eine SSR-App (Next.js 12 oder höher) ist auf den Plattformtyp eingestellt. `WEB_COMPUTE`

Amplify identifiziert die folgenden vier Inhaltstypen und wendet die angegebene verwaltete Cache-Richtlinie an.

**Statisch**  
Der Inhalt, der von Apps mit der `WEB` Plattform bereitgestellt wird, oder die statischen Routen in einer `WEB_COMPUTE` App.  
Dieser Inhalt verwendet die Amplify-StaticContent Cache-Richtlinie.

**Bildoptimierung**  
Die Bilder, die von den `ImageOptimization` Routen in einer `WEB_COMPUTE` App bereitgestellt werden.  
Dieser Inhalt verwendet die Amplify-ImageOptimization Cache-Richtlinie.

**Datenverarbeitung**  
Der Inhalt, der von den `Compute` Routen in einer `WEB_COMPUTE` App bereitgestellt wird. Dies schließt alle serverseitig gerenderten (SSR) Inhalte ein.  
Dieser Inhalt verwendet entweder die Amplify-Default oder die Amplify-DefaultNoCookies Cache-Richtlinie, je nachdem`cacheConfig.type`, welcher Wert auf Ihrem Amplify `App` festgelegt ist.

**Reverse-Proxy**  
Der Inhalt, der von Pfaden bereitgestellt wird, die einer benutzerdefinierten Reverse-Proxy-Rewrite-Regel entsprechen. Weitere Informationen zum Erstellen dieser benutzerdefinierten Regel finden Sie [Reverse-Proxy umschreiben](redirect-rewrite-examples.md#reverse-proxy-rewrite) im Kapitel *Weiterleitungen verwenden*.  
Dieser Inhalt verwendet entweder die Amplify-Default oder die Amplify-DefaultNoCookies Cache-Richtlinie, je nachdem`cacheConfig.type`, welcher Wert auf Ihrem Amplify `App` festgelegt ist.

## Grundlegendes zu den verwalteten Cache-Richtlinien von Amplify
<a name="managed-cache-policies-amplify"></a>

Amplify verwendet die folgenden vordefinierten verwalteten Cache-Richtlinien, um die Standard-Cache-Konfiguration für Ihre gehosteten Anwendungen zu optimieren.
+ Amplify-Default
+ Amplify-DefaultNoCookies
+ Amplify-ImageOptimization
+ Amplify-StaticContent

### Amplify-Default Einstellungen für verwaltete Cache-Richtlinien
<a name="managed-cache-policy-amplify-default"></a>

[Diese Richtlinie in der Konsole anzeigen CloudFront ](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4d1d2f1d-3a71-49ad-9e08-7ea5d843a556)

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.

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Maximale TTL:** 31536000 Sekunden (ein Jahr)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Authorization`
  + `Accept`
  + `CloudFront-Viewer-Country`
  + `Host`
+ **Im Cache-Schlüssel enthaltene Cookies:** Alle Cookies sind enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Alle Abfragezeichenfolgen sind enthalten.
+ **Einstellung für komprimierte Objekte zwischenspeichern:** Gzip und Brotli aktiviert.

### Amplify — Einstellungen für DefaultNoCookies verwaltete Cache-Richtlinien
<a name="managed-cache-policy-amplify-defaultnocookies"></a>

[Diese Richtlinie in der CloudFront Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/a6bad946-36c3-4c33-aa98-362c74a7fb13)

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.

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Maximale TTL:** 31536000 Sekunden (ein Jahr)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Authorization`
  + `Accept`
  + `CloudFront-Viewer-Country`
  + `Host`
+ **Im Cache-Schlüssel enthaltene Cookies:** Es sind keine Cookies enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Alle Abfragezeichenfolgen sind enthalten.
+ **Einstellung für komprimierte Objekte zwischenspeichern:** Gzip und Brotli aktiviert.

### Amplify — Einstellungen für ImageOptimization verwaltete Cache-Richtlinien
<a name="managed-cache-policy-amplify-imageoptimization"></a>

[Diese Richtlinie in der CloudFront Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/1c6db51a-a33f-469a-8245-dae26771f530)

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.

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Maximale TTL:** 31536000 Sekunden (ein Jahr)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Authorization`
  + `Accept`
  + `Host`
+ **Im Cache-Schlüssel enthaltene Cookies:** Es sind keine Cookies enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Alle Abfragezeichenfolgen sind enthalten.
+ **Einstellung für komprimierte Objekte zwischenspeichern:** Gzip und Brotli aktiviert.

### Amplify — Einstellungen für StaticContent verwaltete Cache-Richtlinien
<a name="managed-cache-policy-amplify-staticcontent"></a>

[Diese Richtlinie in der CloudFront Konsole anzeigen](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/7e5fad67-ee98-4ad0-b05a-394999eefc1a)

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.

Diese Richtlinie hat folgende Einstellungen:
+ **Mindest-TTL:** 0 Sekunden
+ **Maximale TTL:** 31536000 Sekunden (ein Jahr)
+ **Standard-TTL:** 0 Sekunden
+ **Im Cache-Schlüssel enthaltene Header:**
  + `Authorization`
  + `Host`
+ **Im Cache-Schlüssel enthaltene Cookies:** Es sind keine Cookies enthalten.
+ **Im Cache-Schlüssel enthaltene Abfragezeichenfolgen:** Es sind keine Abfragezeichenfolgen enthalten.
+ **Einstellung für komprimierte Objekte zwischenspeichern:** Gzip und Brotli aktiviert.

# Verwaltung von Cache-Schlüssel-Cookies
<a name="cache-key-cookies"></a>

Wenn Sie Ihre App auf Amplify bereitstellen, können Sie wählen, ob Sie Cookies in den Cache-Schlüssel aufnehmen oder ausschließen möchten. In der Amplify-Konsole wird diese Einstellung auf der Seite **Benutzerdefinierte Header und Cache** mithilfe des Schalters **Cache-Schlüsseleinstellungen** angegeben. Detaillierte Anweisungen finden Sie unter [Cookies in den Cache-Schlüssel einbeziehen oder aus dem Cache-Schlüssel ausschließen](#set-cache-key-cookies).

**Cookies in den Cache-Schlüssel einbeziehen**  
Mit dieser Einstellung wählt Amplify automatisch eine optimale Cache-Konfiguration für Ihre App aus, basierend auf der Art des Inhalts, der bereitgestellt wird. Sie müssen diesen Cache-Konfigurationstyp explizit auswählen.  
Wenn Sie das SDKs oder das verwenden AWS CLI, entspricht diese Einstellung der Einstellung `cacheConfig.type` auf `AMPLIFY_MANAGED` mit dem `CreateApp` oder `UpdateApp` APIs.

**Schließt Cookies aus dem Cache-Schlüssel aus**  
Dies ist die Standard-Cache-Konfiguration. Diese Cache-Konfiguration ähnelt der `AMPLIFY_MANAGED` Konfiguration, mit der Ausnahme, dass sie alle Cookies aus dem Cache-Schlüssel ausschließt.   
Wenn Sie sich dafür entscheiden, Cookies aus dem Cache-Schlüssel auszuschließen, kann dies zu einer besseren Cache-Leistung führen. Bevor Sie sich für diese Cache-Konfiguration entscheiden, sollten Sie sich jedoch überlegen, ob Ihre App Cookies zur Bereitstellung dynamischer Inhalte verwendet.  
Wenn Sie das SDKs oder das verwenden AWS CLI, entspricht diese Einstellung dem Setzen von `cacheConfig.type` auf `AMPLIFY_MANAGED_NO_COOKIES` mit dem `CreateApp` Oder `UpdateApp` APIs.

Weitere Informationen zum Cache-Schlüssel finden Sie unter [Den Cache-Schlüssel verstehen](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-the-cache-key.html) im *Amazon CloudFront Developer Guide;*.

## Cookies in den Cache-Schlüssel einbeziehen oder aus dem Cache-Schlüssel ausschließen
<a name="set-cache-key-cookies"></a>

Sie können die Cache-Schlüssel-Cookie-Konfiguration für eine App in der Amplify-Konsole oder im AWS CLI festlegen. SDKs 

Gehen Sie wie folgt vor, um anzugeben, ob Cookies in den Cache-Schlüssel aufgenommen oder ausgeschlossen werden sollen, wenn Sie eine neue App mithilfe der Amplify-Konsole bereitstellen.

**So legen Sie die Cache-Schlüssel-Cookie-Konfiguration fest, wenn Sie eine App auf Amplify bereitstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie auf der Seite „**Alle Apps**“ die Option **Neue App erstellen** aus.

1. Wählen Sie auf der Seite **Start building with Amplify** Ihren Git-Repository-Anbieter aus und klicken Sie dann auf **Weiter**.

1. Gehen Sie auf der Seite **Repository-Zweig hinzufügen** wie folgt vor:

   1. Wählen Sie den Namen des Repositorys aus, zu dem Sie eine Verbindung herstellen möchten.

   1. Wählen Sie den Namen des Repository-Zweigs aus, zu dem eine Verbindung hergestellt werden soll.

   1. Wählen Sie **Weiter** aus.

1. Wenn die App eine IAM-Servicerolle benötigt, können Sie entweder Amplify Hosting Compute erlauben, automatisch eine Servicerolle für Sie zu erstellen, oder Sie können eine von Ihnen erstellte Rolle angeben.
   + Um Amplify zu ermöglichen, automatisch eine Rolle zu erstellen und sie an Ihre App anzuhängen:

     1. Wählen Sie **Neue Servicerolle erstellen und verwenden** aus.
   + Um eine Servicerolle anzuhängen, die Sie zuvor erstellt haben:

     1. Wählen Sie **Bestehende Servicerolle verwenden** aus.

     1. Wählen Sie die zu verwendende Rolle aus der Liste aus.

1. Wählen Sie **Erweiterte Einstellungen** und suchen Sie dann den Abschnitt **Cache-Schlüsseleinstellungen**.

1. Wählen Sie entweder „**Cookies im Cache-Schlüssel behalten**“ oder „**Cookies aus dem Cache-Schlüssel entfernen**“. Der folgende Screenshot zeigt den Schalter mit den **Einstellungen für den Cache-Schlüssel** in der Konsole.  
![\[Screenshot des Umschalters für die Cache-Schlüsseleinstellungen in der Amplify-Konsole.\]](http://docs.aws.amazon.com/de_de/amplify/latest/userguide/images/amplify-caching-1.png)

1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **„Überprüfen**“ die Option „**Speichern und bereitstellen**“.

## Änderung der Cache-Schlüssel-Cookie-Konfiguration für eine App
<a name="change-cache-cookies"></a>

Sie können die Cache-Schlüssel-Cookie-Konfiguration für eine App ändern, die bereits für Amplify bereitgestellt wurde. Gehen Sie wie folgt vor, um zu ändern, ob Cookies für eine App mithilfe der Amplify-Konsole in den Cache-Schlüssel aufgenommen oder daraus ausgeschlossen werden sollen.

**Um die Cookie-Konfiguration des Cache-Schlüssels für eine bereitgestellte App zu ändern**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie auf der Seite **Alle Apps** die Anwendung aus, die Sie aktualisieren möchten.

1. Wählen Sie im Navigationsbereich **Hosting** und dann **Benutzerdefinierte Header und Cache** aus.

1. **Suchen Sie auf der Seite **Benutzerdefinierte Header und Cache** den Abschnitt **Cache-Schlüsseleinstellungen** und wählen Sie Bearbeiten aus.**

1. Wählen Sie entweder **Cookies im Cache-Schlüssel behalten** oder **Cookies aus Cache-Schlüssel entfernen**. Der folgende Screenshot zeigt den Schalter mit den **Einstellungen für den Cache-Schlüssel** in der Konsole.  
![\[Screenshot des Umschalters für die Cache-Schlüsseleinstellungen in der Amplify-Konsole.\]](http://docs.aws.amazon.com/de_de/amplify/latest/userguide/images/amplify-caching-1.png)

1. Wählen Sie **Speichern**.

# Verwenden des Cache-Control-Headers zur Steigerung der App-Leistung
<a name="Using-headers-to-control-cache-duration"></a>

Die Standard-Hosting-Architektur von Amplify optimiert das Gleichgewicht zwischen Hosting-Leistung und Bereitstellungsverfügbarkeit. Für die meisten Kunden empfehlen wir, die Standardarchitektur zu verwenden.

Wenn Sie eine genauere Kontrolle über die Leistung einer App benötigen, können Sie den `Cache-Control` HTTP-Header manuell so einstellen, dass er die Hosting-Leistung optimiert, indem Inhalte für einen längeren Zeitraum am Rand des Content Delivery Network (CDN) zwischengespeichert werden.

Die `Cache-Control` HTTP-Header `max-age` und `s-maxage` -Direktiven wirken sich auf die Dauer des Inhalts-Cachings für Ihre App aus. Die `max-age` Direktive teilt dem Browser mit, wie lange (in Sekunden) Inhalte im Cache verbleiben sollen, bevor sie vom Ursprungsserver aktualisiert werden. Die `s-maxage` Direktive überschreibt `max-age` und ermöglicht es Ihnen, anzugeben, wie lange (in Sekunden) Inhalte am CDN-Edge verbleiben sollen, bevor sie vom Ursprungsserver aktualisiert werden.

Apps, die mit Amplify gehostet werden, berücksichtigen die vom Ursprung gesendeten `Cache-Control` Header, es sei denn, Sie überschreiben sie mit benutzerdefinierten Headern, die Sie definieren. Amplify wendet nur `Cache-Control` benutzerdefinierte Header für erfolgreiche Antworten mit einem `200 OK` Statuscode an. Dadurch wird verhindert, dass Fehlerantworten zwischengespeichert und anderen Benutzern, die dieselbe Anfrage stellen, zugestellt werden.

Sie können die `s-maxage` Direktive manuell anpassen, um mehr Kontrolle über die Leistung und Bereitstellungsverfügbarkeit Ihrer App zu haben. Um beispielsweise zu ändern, wie lange Ihre Inhalte am Edge zwischengespeichert bleiben, können Sie die Gültigkeitsdauer (Time to Live, TTL) manuell festlegen, indem Sie `s-maxage` auf einen anderen Wert als den Standardwert 31536000 Sekunden (ein Jahr) aktualisieren.

Sie können benutzerdefinierte Header für eine App im Abschnitt **Benutzerdefinierte Header** der Amplify-Konsole definieren. Ein Beispiel für das YAML Format finden Sie unter. [Benutzerdefinierte Cache-Control-Header einrichten](setting-custom-headers.md#example-cache-headers)

Gehen Sie wie folgt vor, um die `s-maxage` Direktive so einzustellen, dass Inhalte 24 Stunden lang am CDN-Edge zwischengespeichert werden.

**So legen Sie einen benutzerdefinierten Header fest Cache-Control**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie benutzerdefinierte Header festlegen möchten.

1. Wählen Sie im Navigationsbereich **Hosting**, **Benutzerdefinierte Header** aus.

1. **Wählen Sie auf der Seite **Benutzerdefinierte Header** die Option Bearbeiten aus.**

1. Geben **Sie im Fenster Benutzerdefinierte Kopfzeilen bearbeiten** die Informationen für Ihre benutzerdefinierte Kopfzeile wie folgt ein:

   1. Geben Sie für`pattern`, **\$1\$1/\$1** für alle Pfade ein.

   1. Geben Sie unter `key` den Wert **Cache-Control** ein.

   1. Geben Sie unter `value` den Wert **s-maxage=86400** ein.

1. Wählen Sie **Speichern**.

1. Stellen Sie die App erneut bereit, um den neuen benutzerdefinierten Header anzuwenden.