Los Service Workers actúan como proxy entre el navegador y la red. Permiten experiencias offline, sincronización en segundo plano y push notifications.
Ciclo de vida
Instalación → Activación → Fetch. self.addEventListener('install') para precargar recursos. activate para limpiar cachés antiguas.
Estrategias de caché
Cache First: para assets estáticos. Network First: para APIs. Stale While Revalidate: balance. Network Only: datos sensibles. Cache Only: recursos offline.
Offline primero
Precarga recursos en install. Sirve desde caché en fetch. Actualiza en segundo plano. Sincroniza cambios cuando vuelve la conexión (Background Sync).
Push Notifications
push event recibe mensajes del servidor. notificationclick maneja interacción del usuario. Necesita permiso explícito del usuario.

