Logo GH

CDN und Edge-Caching

CDN und Edge-Caching

1) Ziele

CDN (Content Delivery Network) reduziert die Latenz und die Belastung des Ursprungs: Es zwischenspeichert statische und bedingt dynamische Inhalte auf Edge-Knoten, bietet Skalierung, Robustheit und Sicherheit (DDoS/WAF) und fügt Edge-Logik hinzu (Umschreiben von Antworten/Anfragen, Authentifizierung, A/B).

2) Cache-Modell und Schlüssel

Ключ кеша = `scheme + host + path +?(selected query params) + headers (Vary)`

Empfohlen:
  • Normalisieren Sie die Abfrage ('utm _' ausschließen,'v', 'lang', 'country' usw.).
  • Minimieren Sie' Vary'(z.B. 'Vary: Accept-Encoding, Accept-Language'), vermeiden Sie' Vary:'.
  • Für die API - der Schlüssel aus der Route + die Versionskennung (semver, hash, build id) + die gewünschten query/headers (z.B. 'X-Tenant').
  • Für personalisierte Seiten - Edge-Segmentierung (per Cookie/Geo) oder Skip-Cache.

3) TTL-Richtlinien und Überschriften

Grundlegende Überschriften:
  • `Cache-Control: public, max-age=300, s-maxage=3600, stale-while-revalidate=60, stale-if-error=300`
  • 'Surrogate-Control' (falls unterstützt) ist eine separate Richtlinie für das CDN, die sich vom Browser unterscheidet.
  • „ETag “/„ Last-Modified“ - bedingte Anfragen (304) und Verkehrseinsparungen.
  • Für privat: 'Cache-Control: privat, no-store', wenn nicht zwischengespeichert werden kann.
  • APIs, die Cache zulassen: 'Cache-Control: public, s-maxage = 60' + Schlüssel laut Version.

Empfohlener Ansatz: „ewige“ Ressourcen (mit Fingerprint im Dateinamen) → 'max-age = 31536000, immutable'; „pages/JSON“ → kurz TTL + SWR.

4) Behinderung: purge/soft-purge

Purge durch URL: Punkt.
Purge by tag/key: Gruppenreinigung (verwenden Sie' Surrogate-Key: products: 42 category: food').
Soft-purge: Markiert den Inhalt mit „veraltet“, edge gibt stale vor Erhalt der neuen Version.
„Warm“ warm: Ziehen Sie nach dem Deploy die Hauptseiten aus den Regionen.

5) Edge-Leistungsmuster

Stale-While-Revalidate: schnelle Antwort mit einer „veralteten“ Kopie + Hintergrundaktualisierung.
Prefetch kritischer Ressourcen (preload, preconnect, dns-prefetch).
Kompression: gzip/br (für Text), zstd wenn CDN unterstützt wird.
HTTP/2/3 (QUIC): Multiplexing und weniger Latenz.
TLS-Sitzungsresumption und OCSP-Stapeln am Perimeter.

6) Bilder und Videos

Image optimization at edge: resize/format negotiation (`Accept: image/avif,webp`), авто-WebP/AVIF, DPR-варианты.
Lazy-load и responsive (`srcset`, `sizes`).
Video: HLS/DASH, fragmentierte MP4, Origin-Shield (zentraler Cache) zur Reduzierung von „Stürmen“.
Thumbnail-Dienste und signierte URLs für private Bilder.

7) Perimeter Sicherheit

WAF: OWASP-Regeln, Ländersperre/ASN, Rate-Limits mit Schlüssel (IP + Cookie + Token).
DDoS: L3/4 Scrubbing, L7-Checker, JS-Challenges/Turnstile.
Signierte URLs/Cookies für private Ressourcen (Videos/Berichte): TTL + HMAC/EdDSA.
Geo-Fencing und Compliance (z.B. Verbot von Regionen).

8) Edge-compute (Logik am Rand)

Fälle:
  • Personalisierung ohne Cache-Durchbruch: Segmente (A/B), Geo, Sprache am Rand und Inhalte sind zwischengespeichert.
  • Umschreiben von Antworten/Überschriften, Weiterleitungen, AB-Splits.
  • Tokenauthentifizierung: Überprüfung der JWT-Signatur, Bindung an den Schlüssel.
  • Canary by cookie/percent: Ein Teil des Traffics geht in das neue Backend.

Beispiele für Technologien: Cloudflare Workers/Durable Objects, Fastly Compute @ Edge, AWS Lambda @ Edge.

9) Multi-CDN und globaler Umfang

Gründe: Abdeckung, SLA, Kosten, regionale Einschränkungen, Isolierung von Vorfällen.
GSLB/Traffic Steering: durch Geo/Latenz/reale Fehler; Gesundheitschecks von mehreren Vantage-Punkten.
Einheitliches Schlüssel-/Header-Schema (Surrogate-Key), synchronisierte Purge-Regeln.
Origin-Shield ist allen CDNs gemeinsam, um den Ursprung bei Behinderungen nicht zu „treffen“.

10) Logging und Metriken

Sammeln Sie:
  • Hit ratio (cache, CDN → edge/origin), byte hit ratio.
  • Latency p50/p95/p99, Fehlerrate nach Code/Route.
  • Ursprungsfette: RPS/Bytes/Fehler (Schutz vor übermäßigen Fehlern).
  • Regionale Charts (nach POP/ASN/Land).
  • Integration mit Observability: Prometheus (Pull über Exporteure), Grafana/OTel (Push aus Edge-Logs).

11) SEO и SPA/SSR

SEO-Seiten mit SWR und kurzer TTL - schnell und „frisch“.
Sitemap/Roboter - lange zwischenspeichern, aber Soft-Purge zulassen.
Service Worker: Offline-Caching, Prefetch kritischer Pfade, gezielte Updates.

12) Beispiele für Konfigurationen und Überschriften

12. 1 Cache-Control-Profile

Statik mit Fingerprint:

Cache-Control: public, max-age=31536000, immutable
HTML/SSR:

Cache-Control: public, max-age=60, s-maxage=600, stale-while-revalidate=60, stale-if-error=600
Surrogate-Control: max-age=600, stale-while-revalidate=120
API (zwischengespeicherte Vitrine):

Cache-Control: public, s-maxage=60
Vary: Accept-Encoding

12. 2 NGINX (Herkunft) - Normalisierung query/headers

nginx map $arg_utm_source $utm_skip { default 1; "" 0; }
map $args $normalized_args {
default "";
"~(^    &)v=([a-z0-9]+)(&    $)" "v=$2";
}
proxy_cache_key "$scheme://$host$request_uri?$normalized_args";
add_header Surrogate-Key "product:{{id}} category:{{cat}}";

12. 3 Fastly VCL - Soft-Purge und Schlüssel

vcl sub vcl_recv {
set req. hash += req. http. host req. url. path;
set req. hash += querystring. decode(req. url, "v,lang");
if (req. method == "PURGE") {
if (req. http. Fastly-Soft-Purge) { softpurge; } else { purge; }
return (synth(200, "purged"));
}
}
sub vcl_deliver {
set resp. http. Surrogate-Key = "product:42 category:food";
}

12. 4 Cloudflare Workers - signierte URLs

js export default {
async fetch(req, env) {
const url = new URL(req. url);
if (url. pathname. startsWith("/private/")) {
const token = url. searchParams. get("token");
if (!token! verify(token, env. SIGNING_KEY)) return new Response("Forbidden", { status: 403 });
}
return fetch(req);
}
}

12. 5 Lambda @ Edge - Geo-Optionen

js exports. handler = async (event) => {
const req = event. Records[0].cf. request;
const country = req. headers['cloudfront-viewer-country']?.[0]?.value          'US';
if (country === 'DE') req. headers['accept-language'] = [{ key:'Accept-Language', value:'de' }];
return req;
};

13) Private Daten und APIs

Niemals private Antworten ohne Schlüsselisolierung zwischenspeichern (Per-User/Per-Token).
Verwenden Sie Signierte Cookies/Headers und 'Vary: Authorization' nur unter strenger Kontrolle (ansonsten Cache-Bust).
Sichere Alternative: Trennen Sie die öffentliche Schicht (zwischengespeichert) und private Includes (ESI/Edge-Komposition).

14) Geo/Inhaltsregeln

Lizenzbeschränkungen: Geo-Deny am Rand, Platzhalter statt Origin-Sperre.
Alter/Regulierung Banner - Rendering auf Edge (nicht durchbrechen Cache).

15) Anti-Muster

„No-Cache, No-Store“ für die gesamte Site → Verlust des CDN-Effekts.
„Vary“ durch instabile Überschriften (z.B. „User-Agent“) → Kardinalität.
Leert den gesamten Cache bei jeder Freigabe.
Kurze TTLs ohne SWR → „Sturm“ auf Herkunft.
Persönliche Seiten werden ohne Segmentierung/Schlüssel-Token zwischengespeichert.
Das Fehlen von Origin-Shield → mehrere parallele Fehler.

16) Implementierung Checkliste (0-45 Tage)

0-10 Tage

Ressourcen kategorisieren: Statik (immutable )/HTML/API.
Aktivieren Sie gzip/br, HTTP/2/3, Normalisierung query, 'Surrogate-Key'.
SWR/IFE und Basis-Purge eingeben.

11-25 Tage

Edge-Optimierung von Bildern (resize/format), origin-shield.
Signierte URLs für private Medien, WAF/DDoS-Profile.
Dashboards: Trefferverhältnis, Ursprungsfette, p95 von POP.

26-45 Tage

Multi-CDN oder GSLB-Strategie, Kanariengewichte am Umfang.
Edge-Compute für Segmentierung/AB/Geo, Soft-Purge durch Schlüssel.
Auto-Warm-Up und Purge-Integration in CI/CD.

17) Reifegradkennzahlen

Byte-Trefferverhältnis ≥ 85% für Statik ≥ 60% für HTML/bedingte Dynamik.
Herkunft RPS stabil bei Peaks (keine „Stürme“).
p95 TTFB um ≥ 30% in den wichtigsten Regionen reduziert.
% der Stale-Antworten bei Vorfällen> 90% (der Benutzer hat es kaum bemerkt).
Vollständige Purge-to-Key-Automatisierung in der Release-Pipeline.

18) Schlussfolgerung

Die effektive CDN-Schleife sind die Schlüssel/TTL/Varianten, die Disziplin der Behinderung und die Edge-Logik. Fügen Sie SWR/IFE, Origin-Shield, Medienoptimierung und strikte Sicherheit (WAF, signierte URLs) hinzu. Standardisieren Sie Ihre Metriken und integrieren Sie Purge in Ihre CI/CD - und Sie erhalten einen schnellen, sparsamen und nachhaltigen Umfang, bereit für Spitzenlasten und „schwarze Schwäne“.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.