Что такое Service Worker
Скрипт для фоновой работы в браузере
Service Worker — скрипт, который браузер запускает в фоновом режиме отдельно от веб-страницы, обеспечивая функции, не требующие веб-страницы или взаимодействия с пользователем.
Основные возможности
- Offline-режим — работа приложения без интернета
- Push-уведомления — получение уведомлений даже при закрытом браузере
- Фоновая синхронизация — синхронизация данных в фоне
- Кэширование — управление кэшем ресурсов
- Перехват запросов — прокси для сетевых запросов
Жизненный цикл
- Registration — регистрация Service Worker
- Installation — установка и кэширование ресурсов
- Activation — активация и очистка старого кэша
- Fetch — перехват сетевых запросов
- Update — обновление на новую версию
Стратегии кэширования
- Cache First — сначала кэш, потом сеть
- Network First — сначала сеть, потом кэш
- Stale While Revalidate — кэш + обновление в фоне
- Cache Only — только кэш
- Network Only — только сеть
Применение
- PWA — прогрессивные веб-приложения
- Offline-first — приложения с приоритетом офлайн
- Performance — ускорение загрузки страниц
- Push API — веб-push уведомления
- Background Sync — отложенная синхронизация данных