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
oder3xx
. - Die HTTP-Anfragemethode ist
GET
oderHEAD
- Mindestens einer der folgenden HTTP-Antwort-Header ist vorhanden:
Cache-Control
,Surrogate-Control
oderExpires
- 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-Control
oder 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 weistCache-Control: max-age=3600
den Webbrowser an, die Antwort eine Stunde lang zwischenzuspeichern. Dieser Wert wird vom CDN ignoriert, wenn derSurrogate-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 weistSurrogate-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 weistExpires: 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.