Service Worker
Kurz: Ein Service Worker ist ein Skript, das im Hintergrund des Browsers läuft und Netzwerkanfragen einer Seite abfangen kann. Damit funktionieren Offline-Modus, Caching und Push-Nachrichten.
Genauer: Der Service Worker sitzt zwischen Seite und Netzwerk. Er entscheidet bei jeder Anfrage, ob er sie aus dem Cache beantwortet, aus dem Netz holt oder beides kombiniert. Er hat keinen Zugriff auf die Seite selbst, kommuniziert aber per Nachrichten.
Im Detail
- Lebenszyklus: registrieren, installieren (Dateien vorab cachen), aktivieren, dann Anfragen bedienen.
- Strategien: Cache-first (schnell, für statische Dateien), Network-first (aktuell, für Daten), Stale-while-revalidate (sofort alt, im Hintergrund neu).
- Voraussetzung: Nur über HTTPS (oder localhost).
- Fallstrick: Ein fehlerhafter Service Worker bleibt im Browser hängen. Neue Versionen müssen den Cache sauber aufräumen.
- Verwandt: Push API, Background Sync und die Installierbarkeit als App.
Siehe auch: Lighthouse und Core Web Vitals