Web Platform · Cluster

Progressive Web

Service workers and offline behavior.

  1. 01 Service Worker Lifecycle and the Registration Scope How a service worker moves from registration through installation and activation, why a new version may wait indefinitely, and what the scope URL decides about the requests it can intercept. foundational · Oct 21, 2025
  2. 02 Fetch Event Interception and Response Construction How a service worker receives requests, what respondWith accepts, why a rejected promise produces an error page instead of a network fetch, and which requests never reach the handler. foundational · Jan 22, 2026
  3. 03 Cache Storage Keys, Vary, and Cache Versioning How the Cache API compares a request against stored entries, why HTTP freshness headers are inert inside it, and how cache names and activate-time deletion keep a deployment consistent. foundational · Sep 9, 2025
  4. 04 Web App Manifest and the Installability Contract How the manifest establishes an installed application identity through id, start_url, and scope, what display modes change at launch, and why installability is a browser policy rather than a specification rule. intermediate · Jun 19, 2025
  5. 05 Offline Navigation, App Shell, and Fallback Routing Why navigation requests need their own handling in a service worker, the trade between shell-based and per-URL caching, and how navigation preload removes the worker-startup delay from the critical path. intermediate · May 20, 2025
  6. 06 Request Cloning and Body Streams in Fetch Handlers Why a fetch handler cannot both return a response and store it without cloning, how tee behaves under backpressure, and which bodies the Cache API refuses to store. intermediate · Oct 14, 2026
  7. 07 Background Sync and Deferred Work How sync tags schedule retries after a failed request, why the payload must live in IndexedDB, and what the periodic variant does and does not guarantee about timing. intermediate · Jan 17, 2024
  8. 08 Service Worker Update Semantics and skipWaiting How byte comparison decides whether a new worker installs, what updateViaCache changes about that check, and why calling skipWaiting while old documents are open produces mixed-version clients. advanced · Dec 22, 2025
  9. 09 Web Push: Subscription, Encryption, and Delivery The four parties involved in a push message, how the aes128gcm envelope hides the payload from the push service, and which delivery headers decide whether a message is shown or dropped. advanced · Jun 8, 2026
  10. 10 Storage Quota, Persistence, and Eviction Why a cache that was written successfully can be gone on the next visit, how best-effort and persistent buckets differ, and what estimate() does and does not tell an application about its budget. advanced · Jul 31, 2025