# Service Worker

> Service Worker：生命周期、缓存策略、Workbox 与后台同步。

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

**Service Worker** 是每个 PWA 核心的可编程网络代理。它运行在独立于页面的线程中，
拦截网络请求、从缓存返回响应，并在标签页关闭后继续工作——这是离线支持、再次访问即时
加载、推送与后台工作的基础。

这些条目讲解 worker 如何安装与更新、如何有意识地缓存，以及构建其上的库与 API。

## 本节内容

<CardGrid>
	<LinkCard title="Service Worker 生命周期" href="/zh/reference/service-worker/lifecycle/" description="register、install、activate、等待中的 worker、skipWaiting、clients.claim 与更新。" />
	<LinkCard title="注册与 scope" href="/zh/reference/service-worker/registration-scope/" description="navigator.serviceWorker.register()、scope 规则、Service-Worker-Allowed 与 updateViaCache。" />
	<LinkCard title="更新流程与 skipWaiting" href="/zh/reference/service-worker/update-skipwaiting/" description="浏览器如何检测新版本、waiting 状态、skipWaiting() 与 clients.claim()。" />
	<LinkCard title="fetch 事件与路由" href="/zh/reference/service-worker/fetch-event/" description="FetchEvent、event.respondWith()、按 destination 或 URL 路由及透传。" />
	<LinkCard title="缓存策略" href="/zh/reference/service-worker/caching-strategies/" description="Cache First、Network First、Stale-While-Revalidate、Network Only、Cache Only——各自的适用场景。" />
	<LinkCard title="Cache API" href="/zh/reference/service-worker/cache-api/" description="caches.open()、cache.add()、cache.match()、过期策略与不透明响应。" />
	<LinkCard title="Workbox" href="/zh/reference/service-worker/workbox/" description="路由、预缓存、过期管理、后台同步，以及用于更新 UX 的 workbox-window。" />
	<LinkCard title="离线兜底" href="/zh/reference/service-worker/offline-fallback/" description="预缓存兜底页面，并在缓存和网络均失败时返回它。" />
	<LinkCard title="Service Worker 调试" href="/zh/reference/service-worker/debugging/" description="Chrome DevTools、Firefox 和 Safari 工具，用于检查状态、缓存与更新流程。" />
</CardGrid>

← 返回[参考](/zh/reference/)总览。