Чем на самом деле занимается service worker
Когда сайт регистрирует service worker, браузер запускает его скрипт в фоне, отдельно от любой вкладки. Воркер перехватывает сетевые запросы сайта, отдаёт файлы из локального кэша, обновляет сам себя из сети и продолжает слушать push-уведомления, даже когда вы закрыли все окна. Это и есть механизм installable web apps, офлайн-вебпочты и мессенджеров, работающих без приложения из магазина.
Дизайн действительно хороший — и по части хранения совершенно бессовестный. Браузер разрешает источнику держать в CacheStorage гигабайты, если на диске есть место, а веб-плеер или редактор документов, открытый один раз, может хранить сотни мегабайт годами. Воркер и его кэши живут внутри профиля браузера, и ничего их не выселяет, пока не прижмёт нехватка места.
Где живут остатки
В Chrome и других Chromium-браузерах это хранилище лежит внутри папки каждого профиля — в Service Worker\CacheStorage и Service Worker\ScriptCache. Подозреваемые всегда одни: вебпочта, веб-плееры всех стриминговых сервисов, браузерные мессенджеры и офисные пакеты, кэширующие весь свой интерфейс под офлайн. Firefox держит ту же идею в собственных папках хранения, раздельно по источникам, так что остатки — не эксклюзивная привычка Chromium.
- Chrome/Edge: %LOCALAPPDATA%\<браузер>\User Data\<профиль>\Service Worker\CacheStorage — гигабайты тут норма
- Самые тяжёлые: вебпочта, веб-плееры, браузерные мессенджеры, онлайн-офисы
- Хранилище живёт через перезапуски браузера, обновления и ребуты — так задумано
- Размер по сайтам виден в DevTools → Application → Storage или в chrome://settings/content/all
- Сайт, на который вы зашли один раз, хранит кэш, пока вы его не сотрёте — автогигиены нет
Как вычистить это безопасно
Для одного сайта в DevTools → Application → Service Workers есть кнопка Unregister, а chrome://serviceworker-internals перечисляет всех зарегистрированных воркеров профиля с той же кнопкой. Стирание данных сайта в chrome://settings/content/all убирает воркера, его кэши и куки за один заход — вы выйдете из аккаунта, а сайт всё равно перерегистрируется при следующем визите. Ничего опасного тут нет: худший случай — веб-приложение заново скачает свои файлы в следующий раз.
Для чистки целого профиля вручную лазить по папкам — занятие на любителя; Deep Cleaning в Kleaner PRO как раз подметает браузерные кэши по всем профилям за один проход, включая эти остатки. Если хочется руками — отсортируйте папку Service Worker по размеру, удалите самые жирные источники и закончите на этом. Так или иначе место вернётся сразу, а сайты пересоберут нужное при следующем визите.
Вопросы и ответы
Что будет, если удалить service workers?
Сайт просто зарегистрирует нового воркера при следующем визите. Вы потеряете офлайн-доступ и пуши этого сайта до тех пор; из аккаунта выйдет только если заодно стереть куки.
Почему сайты хранят данные на моём компьютере?
Чтобы веб-приложение открывалось мгновенно, работало без сети и получало уведомления без открытой вкладки. Это та же идея, что локальный кэш магазинного приложения, только доставкой занимается браузер.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]