Wann werden HTTP-Anfragen/-Antworten zwischengespeichert?

Das AEM as a Cloud Service CDN speichert nur HTTP-Antworten zwischen, und alle folgenden Kriterien müssen erfüllt sein:

  • Der HTTP-Antwortstatus ist 2xx oder 3xx.
  • Die HTTP-Anfragemethode ist GET oder HEAD
  • Mindestens einer der folgenden HTTP-Antwort-Header ist vorhanden: Cache-Control, Surrogate-Control oder Expires
  • Die HTTP-Antwort kann alle Inhaltstypen umfassen, einschließlich HTML-, JSON-, CSS-, JS- und Binärdateien.

Standardmäßig werden HTTP-Antwort-Cache-Header aus allen HTTP-Antworten, die nicht automatisch durch AEM Dispatcher zwischengespeichert werden, gelöscht, um eine Zwischenspeicherung im CDN zu vermeiden. Dieses Verhalten kann bei Bedarf mit der Option mod_headers und der Richtlinie Header always set ... vorsichtig überschrieben werden.

Was wird zwischengespeichert?

Das AEM as a Cloud Service CDN speichert Folgendes zwischen:

  • HTTP-Antworttext
  • HTTP-Antwort-Header

In der Regel wird eine HTTP-Anfrage/-Antwort für eine einzelne URL als einzelnes Objekt zwischengespeichert. Das CDN kann jedoch mehrere Objekte für eine einzelne URL zwischenspeichern, wenn der Vary-Header in der HTTP-Antwort festgelegt ist. Vermeiden Sie Vary in Headern, deren Werte keinen streng kontrollierten Wertesatz aufweisen, da dies zu vielen Cache-Fehlern führen kann, wodurch das Cache-Trefferverhältnis verringert wird. Um die Zwischenspeicherung verschiedener Anforderungen in AEM Dispatcher zu unterstützen, lesen Sie die Dokumentation zur Variantenzwischenspeicherung.

Cache-Lebensdauer

Das AEM Publish-CDN basiert auf TTL (Time-to-Live), d. h. die Cache-Lebensdauer wird durch die Cache-Control, Surrogate-Controloder Expires HTTP-Antwortheader bestimmt. Wenn die Header für die HTTP-Antwort-Zwischenspeicherung nicht vom Projekt festgelegt werden und die Eignungskriterien erfüllt sind, legt Adobe eine standardmäßige Cache-Lebensdauer von 10 Minuten (600 Sekunden) fest.

So beeinflussen die Cache-Header die Lebensdauer des CDN-Cache:

  • Cache-Control Der HTTP-Antwort-Header gibt dem Webbrowser und dem CDN vor, wie lange die Antwort zwischengespeichert werden soll. Der Wert wird in Sekunden angegeben. Zum Beispiel weist Cache-Control: max-age=3600 den Webbrowser an, die Antwort eine Stunde lang zwischenzuspeichern. Dieser Wert wird vom CDN ignoriert, wenn der Surrogate-Control HTTP-Antwort-Header ebenfalls vorhanden ist.
  • Surrogate-Control Der HTTP-Antwort-Header gibt dem AEM CDN vor, wie lange die Antwort zwischengespeichert werden soll. Der Wert wird in Sekunden angegeben. Zum Beispiel weist Surrogate-Control: max-age=3600 das CDN an, die Antwort eine Stunde lang zwischenzuspeichern.
  • Expires Der HTTP-Antwort-Header gibt dem AEM CDN (und dem Webbrowser) vor, wie lange die zwischengespeicherte Antwort gültig ist. Der Wert ist ein Datum. Zum Beispiel weist Expires: Sat, 16 Sept 2023 09:00:00 EST den Webbrowser an, die Antwort bis zum angegebenen Datum und zur angegebenen Uhrzeit zwischenzuspeichern.

Steuern Sie die Cache-Lebensdauer mit Cache-Control, wenn sie für Browser und CDN gleich ist. Verwenden Sie Surrogate-Control, wenn der Webbrowser die Antwort für eine andere Dauer als das CDN zwischenspeichern soll.