Web Platform · Cluster
Progressive Web
Service workers and offline behavior.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.