Автор: Г.П. Киселев | Обновлено: 2026
Если вы замечали, что некоторые сайты работают без интернета, как приложения, или мгновенно загружаются при повторном заходе — скорее всего, это PWA (Progressive Web App) с Service Worker.
Что такое Service Worker?
Service Worker — это фоновый скрипт, который работает независимо от страницы. Он может:
- Кэшировать ресурсы (HTML, CSS, JS, изображения)
- Работать в оффлайн-режиме
- Отправлять push-уведомления
- Синхронизировать данные в фоне
Как он работает?
Service Worker перехватывает HTTP-запросы и решает:
- Есть ли запрашиваемый ресурс в кэше?
- Если да — возвращает его сразу.
- Если нет — делает запрос в сеть, сохраняет в кэш и возвращает.
Пример из жизни
На этом сайте:
- После первого посещения все инструменты кэшируются
- При следующем заходе — загружаются мгновенно
- Даже без интернета — вы можете пользоваться ими
Три ключевых события
| Событие | Что делает |
|---|---|
install |
Кэширует основные файлы при установке |
activate |
Удаляет старые кэши, освобождает место |
fetch |
Перехватывает запросы и обслуживает из кэша |
Ограничения
- Работает только по HTTPS (или localhost)
- Не имеет доступа к DOM
- Не работает на всех старых браузерах
Зачем это вам?
Если вы создаёте сайт с утилитами, справочниками или калькуляторами — Service Worker делает его быстрым, надёжным и похожим на приложение. Пользователи будут возвращаться.
💡 Совет: начните с простого кэширования статики — и уже получите ощутимый прирост производительности.
Читайте также: Инструменты, Как создать manifest.json