Skip to content

Erweitertes Caching

smoxy bietet eine CDN-Caching-Schicht, die Kopien der Inhalte am Edge speichert. Diese Anleitung behandelt alle verfügbaren Caching-Konfigurationsoptionen für die Site, einschließlich TTL, Cache-Key-Zusammensetzung, Cache-Tags und Stale-Cache-Verhalten.


Cache-TTL (Time-to-Live)

Die Cache-TTL bestimmt, wie lange smoxy die Inhalte zwischenspeichert, bevor eine frische Kopie vom Origin-Server angefordert wird.

EinstellungWert
Minimum300 Sekunden (5 Minuten)
Maximum604.800 Sekunden (7 Tage)
Standard604.800 Sekunden (7 Tage)

Cache-Key

Der Cache-Key bestimmt, wie smoxy eindeutige gecachte Antworten identifiziert. Zwei Anfragen mit demselben Cache-Key liefern denselben gecachten Inhalt. Das Verständnis des Cache-Keys ist wichtig, um zu vermeiden, dass veralteter oder falscher Inhalt ausgeliefert wird.

Komponenten

KomponenteEinstellungStandardBeschreibung
URIImmer enthaltenDer Anfragepfad ist immer Teil des Cache-Keys
Hosthost_vary_enabledAus Konfiguration abgeleitetDen Anfrage-Hostnamen in den Cache-Key einbeziehen
Cookiecookie_vary_enabledAktiviertCache basierend auf bestimmten Cookie-Werten variieren

Host Vary

Wenn Host Vary aktiviert ist, erzeugen Anfragen an verschiedene Hostnamen auf derselben Site separate Cache-Einträge. Dies ist wichtig, wenn mehrere Hostnamen auf derselben Site unterschiedliche Inhalte für denselben Pfad ausliefern.

Beispiel: Mit aktiviertem Host Vary werden www.example.com/about und shop.example.com/about separat gecacht.

Wenn Cookie Vary aktiviert ist, bezieht smoxy bestimmte Cookie-Werte in den Cache-Key ein. Dies ist nützlich, um unterschiedliche Inhalte basierend auf Benutzereinstellungen wie Sprache oder Region auszuliefern.

Welche Cookies variiert werden, lässt sich über Cookie-Parameternamen angeben — eine kommagetrennte Liste von Cookie-Namen.

Beispiel: Wird der Cookie-Vary-Parameter auf language gesetzt, erhalten ein Besucher mit language=en und ein Besucher mit language=de separat gecachte Antworten.

Cookie-Namensregeln: In Cookie-Namen sind nur alphanumerische Zeichen, Bindestriche und Unterstriche erlaubt.

Ausgeschlossene Query-Parameter

Standardmäßig ist der vollständige Query-String Teil des Cache-Keys. Bestimmte Query-Parameter lassen sich ausschließen, die das Caching nicht beeinflussen sollen — typischerweise Tracking-Parameter, die den Seiteninhalt nicht verändern.

Konfiguriert wird eine kommagetrennte Liste von Parameternamen zum Ausschließen.

Häufige Ausschlüsse: utm_source, utm_medium, utm_campaign, utm_content, utm_term, gclid, fbclid

Parameternamensregeln: Nur alphanumerische Zeichen und Bindestriche sind erlaubt.


Cache-Tags

Cache-Tags ermöglichen es, gecachte Inhalte zu gruppieren und selektiv zu invalidieren. Der Origin-Server sendet Cache-Tag-Werte in HTTP-Response-Headern, und smoxy verwendet diese, um gecachte Inhalte mit Tags zu verknüpfen. Beim Purgen eines Tags werden alle damit verknüpften gecachten Inhalte invalidiert.

Konfiguration

Es lassen sich bis zu 4 Cache-Tag-Header konfigurieren. Jeder Header hat einen Namen und ein Trennzeichen.

EinstellungBeschreibung
Header-NameDer HTTP-Response-Header, der die Tag-Werte enthält
TrennzeichenDas Zeichen, das mehrere Tags innerhalb des Headers trennt (einzelnes Zeichen)

Header-Namensregeln: Nur alphanumerische Zeichen und Bindestriche sind erlaubt.

Standards

smoxy ist mit zwei Cache-Tag-Headern vorkonfiguriert:

HeaderTrennzeichenBeispiel
x-cache-tags, (Komma)x-cache-tags: product-123,category-shoes
xkey(Leerzeichen)xkey: product-123 category-shoes

Diese Standards decken die gängigsten Cache-Tagging-Konventionen ab. Eine Anpassung nach Bedarf oder das Hinzufügen weiterer Header ist möglich.

Cache-Tag-Ignorier-Liste

Eine Liste von Tag-Mustern lässt sich konfigurieren, die ignoriert werden sollen. Tags, die diesen Mustern entsprechen, werden nicht gespeichert, was den Cache-Metadaten-Overhead für Tags reduziert, die nie invalidiert werden sollen.

Einzugeben ist eine kommagetrennte Liste von Tag-Namen oder -Mustern.

Erlaubte Zeichen: Alphanumerisch, Klammern, geschweifte Klammern, eckige Klammern, Bindestriche, Unterstriche, Punkte, Schrägstriche und Sternchen.


Cache-Control-Header

Wenn aktiviert, respektiert smoxy den Cache-Control-Header aus der Antwort des Origin-Servers. Dies ermöglicht es dem Origin, das Caching-Verhalten pro Antwort zu steuern.

EinstellungStandard
cache_control_header_enabledDeaktiviert

Wenn deaktiviert, verwendet smoxy die konfigurierte TTL für alle cachebaren Antworten, unabhängig vom Cache-Control-Header des Origins.


Der s-cache Response-Header

Wenn Acceleration oder Bildoptimierung aktiviert ist, fügt smoxy jeder Antwort einen s-cache-Response-Header hinzu, der mitteilt, wie die Anfrage bedient wurde. Er dient zum Debuggen der Cache-Trefferrate, zur Überprüfung des Regelverhaltens und zur Bestätigung, dass die Cache-Control-Direktiven des Origins respektiert werden.

HIT

Die Ressource wurde im Cache von smoxy gefunden und direkt vom Edge ausgeliefert — keine Origin-Anfrage.

MISS

Die Ressource war nicht im Cache und wurde vom Origin geholt. Um zu verhindern, dass Browser die Miss-Antwort cachen, setzt smoxy cache-control: no-cache, no-store, must-revalidate auf der Antwort — das garantiert, dass die nächste Anfrage als HIT bedient werden kann, sobald smoxy den Inhalt gespeichert hat.

BYPASS

smoxy hat den Cache absichtlich übersprungen. Dies passiert, wenn:

  • Die Option Cache-Control-Header aktiviert ist und der Origin Cache-Control: no-cache, private oder max-age=0 zurückgegeben hat.
  • Die Anfrage einen http-bypass-Header mit einem gültigen Token oder einer base64-kodierten Form des Hostnamens trug.
  • Der Content-Type der Antwort nicht für Caching geeignet ist (siehe Unterstützte MIME-Typen).

Wichtige Hinweise

  • TTL-Abwägung: Eine längere TTL bedeutet weniger Origin-Traffic, aber langsamere Content-Aktualisierungen. Eine kürzere TTL bedeutet frischeren Inhalt, aber mehr Origin-Anfragen. Die Wahl richtet sich danach, wie häufig sich der Inhalt ändert.
  • Cookie Vary mit Bedacht: Nur auf Cookies variieren, die tatsächlich den Antwortinhalt beeinflussen. Das Variieren auf Session-IDs oder Tracking-Cookies deaktiviert das Caching effektiv, da jeder Besucher einen einzigartigen Cache-Eintrag erhält.
  • Tracking-Parameter ausschließen: Marketing-Parameter wie UTM-Tags ändern den Seiteninhalt nicht. Das Ausschließen aus dem Cache-Key verbessert die Cache-Trefferrate erheblich.
  • Cache-Tags erfordern Origin-Kooperation: Der Origin-Server muss die konfigurierten Tag-Header in seinen Antworten senden. smoxy liest diese Header und speichert die Verknüpfung — es generiert keine Tags automatisch.