Dynamische Features trotz aggressiver Cache-Strategie

Simon Willison – Blog Original ≈2 Min. Lesezeit
Anzeige

Mein Blog nutzt eine sehr aggressive Caching-Strategie: Hinter Cloudflare steht ein 15‑Minuten‑Cache‑Header, der dafür sorgt, dass jede Seite auch bei einem extremen Traffic‑Spitzenfall sofort ausgeliefert wird. Trotz dieses vollständigen Seiten‑Caches habe ich kürzlich ein paar dynamische Funktionen eingebaut, die sich nahtlos einfügen.

Eine dieser Funktionen ist ein „Edit“-Link, der nur für mich sichtbar sein soll. Da die Seite im öffentlichen Bereich statisch gecacht wird, kann ich die Sichtbarkeit nicht serverseitig steuern. Stattdessen setze ich auf localStorage und ein kleines JavaScript‑Snippet: Sobald die Seite geladen ist, prüft das Skript, ob im Browser ein Schlüssel ADMIN gesetzt ist. Ist das der Fall, werden alle Elemente mit der Klasse .edit-page-link durchsucht, ein Link mit der im Datenattribut data-admin-url hinterlegten URL erzeugt und dem Element hinzugefügt. So kann ich jederzeit über einen einfachen Klick im Admin‑Dashboard die Sichtbarkeit aktivieren oder deaktivieren.

Um die Edit‑Links zu aktivieren, reicht es, im Browser die folgende Zeile auszuführen: localStorage.setItem('ADMIN', '1');. Der Admin‑Bereich selbst bietet zudem einen eigenen Checkbox‑Toggle, der genau diese Einstellung steuert. Auf diese Weise bleibt die Seite für Besucher vollständig gecacht, während ich als Administrator jederzeit die nötigen Bearbeitungslinks sehen kann.

Zusätzlich habe ich weitere dynamische Features wie eine zufällige Navigation innerhalb bestimmter Tags implementiert, die ebenfalls über localStorage gesteuert werden. Diese Ergänzungen zeigen, dass selbst bei einer sehr aggressiven Cache‑Strategie noch flexible, benutzerdefinierte Interaktionen möglich sind.

Ähnliche Artikel