CDN Response Header analysieren
In diesem Artikel erfährst du, welche HTTP Header bei den CDN Responses gesetzt sind und was sie bedeuten.
In diesem Beispiel zeigen wir mithilfe von curl
, welche Header gesendet werden. Die Analyse der HTTP Header kann auch mithilfe der Google Chrome Dev Tools durchgeführt werden.
Beispiel Response eines CDN Requests:
curl -I https://content.cstatic.io/assets/img/creoline-logo.svg
HTTP/2 200
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
cache-control: max-age=31536000, public, s-maxage=86400, stale-if-error=86400, stale-while-revalidate=86400
access-control-allow-origin: *
x-creoline-engine: 4.0.1
x-creoline-original-size: 41946
x-creoline-cdn-host: content.cstatic.com
x-creoline-cdn-path: /assets/img/creoline-logo.svg
x-creoline-renderer: n.backend.cstatic.com
accept-ranges: bytes
age: 102348
x-creoline-cache: HIT
x-creoline-cache-lifetime: 86400
server: creoline
x-creoline-edge: FRANKFURT
x-creoline-edge-frontend: fra.de.eu.cstatic.com
x-creoline-edge-backend: b.fra.de.eu.cstatic.com
Response Header
Cache-Control
Der Cache-Control Header steuert das Caching-Verhalten von Edge-Server und Client.
Wert | Beschreibung |
---|---|
max-age | Maximale Zeit in Sekunden, die der Browser die Response aus dem Cache ausliefern darf. |
s-maxage | Maximale Zeit in Sekunden, die der CDN Edge-Server die Response aus dem Cache ausliefern darf. |
stale-if-error | Maximale Zeit in Sekunden, die der CDN Edge-Server die Response aus dem Cache ausliefern darf, sofern der Upstream-Server (Ziel-Server) keine gültige Response liefert. |
stale-while-revalidate | Maimale Zeit in Sekunden, die der CDN Edge-Server die Response aus dem Cache ausliefern darf, während bereits eine Aktualisierung der Ressource zwischen CDN Edge-Server und Upstream-Server (Ziel-Server) aktiv ist. |
x-creoline-edge-frontend
Der Edge Frontend Header liefert Informationen darüber, über welchen Edge Server die statische Datei ausgeliefert wurde. Die Auswahl des nächstmöglichen Servers geschieht über unser Anycast DNS Netzwerk. \n
Das Schema ist bei allen Standorten identisch und richtet sich nach folgendem Schema:
Ort, Land, Kontintent .cstatic.com
- In diesem Beispiel: fra.de.eu.cstatic.com
x-creoline-cache
Der Cache Header liefert Informationen über den aktuellen Status des CDN Caches. Folgende Werte sind möglich:
HIT
Die statische Datei befindet sich bereits im CDN Cache und wird frühestens beim Erreichen der Cache TTL (Expires Header) mit dem Ziel-Server abgeglichen.
STALE
Die Cache TTL wurde erreicht und überschritten. Die statische Datei wird trotz Überschreitung der Cache TTL weiterhin durch den CDN Cache ausgeliefert und anschließend im Hintergrund aktualisiert. Unabhängig von der eingestellten Cache TTL wird der Cache für jede statische Datei 7 Tage nach Auslauf der TTL im STALE Modus vorgehalten, um bestmögliche Response Zeiten bei geringen Aufrufen zu gewährleisten.
MISS
Die statische Ressource befindet sich (noch) nicht im CDN Cache und musste parallel vom Ziel-Server heruntergeladen werden. Sobald die identische Ressource erneut angefragt wird, wird vom CDN ein HIT zurückgeliefert.
content-type
Der Content-Type Header liefert den tatsächlichen Mime-Type der Response. Je nach gewählter CDN Einstellung kann der Content-Type von der tatsächlichen Quelldatei abweichen.
x-original-content-type
Der Original-Content-Type Header liefert den Wert des ursprünglichen Inhaltes zurück. Wird z.B. eine JPG-Grafik in eine WebP Grafik konvertiert, wird hier image/jpg
als Ursprungswert zurückgeliefert.
Link
Mithilfe von dem Link-Response-Header kann Duplicated Content vermieden werden. Beispiel:
link: <https://www.creoline.de/assets/img/creoline-logo.svg>; rel="canonical"
Durch die Angabe der Original-Quelle kann eine doppelte Indexierung vermieden werden.
WebP Konvertierung
Bei der Konvertierung in WebP-Grafiken wird die ursprüngliche URL mit einem .jpg
oder .png
Suffix nicht verändert, um die Abwärtskompatibilität zu älteren Browsern ohne WebP-Unterstützung zu gewährleisten. Über die x-converted
und x-original-content-type
Header wird der Konvertierungsprozess sowie das Ursprungsformat zurückgeliefert.
Beispiel Response Header:
x-converted: image/jpeg to image/webp
x-original-content-length: 80000
x-original-content-type: image/jpeg
x-quality: 80
Die automatische WebP Konvertierung wird über den HTTP-Header Accept
gesteuert. Damit die Original JPG oder PNG Grafik in WebP konvertiert werden kann, muss der Client den Accept
-Header mit dem Wert image/webp
senden. Andernfalls wird die Original-Grafik bestmöglich komprimiert und an den Client zurückgeliefert.