Как очистить кэш Chrome/Chromium Edge Service Worker?

Как очистить кэш Chrome/Chromium Edge Service Worker?

Обратите внимание, что этоНЕТПапка Cache. Это кэш Service Worker, путь должен быть AppData\Local\Microsoft\Edge\User Data\Default\Service Worker.

Недавно я заметил, что мой жесткий диск почти заполнен, поэтому я хочу его очистить. Я заметил, что хотя папка Cache приемлема (200 МБ), кэш папки Service Worker слишком большой (> 1 ГБ). Я попробовал отменить регистрацию всех service worker, но папка cache все еще там.

Могу ли я просто удалить их из проводника Windows?

P.S.: как разработчик, я поражен количеством зарегистрированных сервис-воркеров. Большинство из них — трекеры и бесполезный хлам, который мне следовало удалить раньше.


я прочиталЭта статьяно мне это не помогло, потому что:

  • Я не хочу удалять куки, они мне нужны. К сожалению, Chrome/Edge группируют это в одну опцию.

  • Я не могу просто зайти на каждый сайт и удалить отдельный кэш Service Worker.

решение1

Мой собственный кэш Service Worker находится в папке:
C:\Users\USER-NAME\AppData\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage\3cedfb74d44f2e84198d23075aef16c34a668ceb.

Я попытался очистить его с помощью edge://settings/clearBrowserData опции «Кэшированные изображения и файлы», но это не затронуло кэш Service Worker.

Поэтому я просто зашел в указанную выше папку с помощью проводника и удалил все ее содержимое, но саму папку оставил на месте.

Затем я запустил Microsoft Edge, и он запустился без проблем. Он также заново заполнил папку новым контентом.

Поэтому мой ответ: да, вы можете удалить его из Проводника.

Если вы беспокоитесь о безопасности, вы можете на первом этапе переместить содержимое во временную папку и запустить Microsoft Edge. Если все работает хорошо, вы можете удалить временную папку.

Примечание: Google Chrome ведет себя точно так же. Его кэш находится по адресу:
C:\Users\USER-NAME\AppData\Local\Google\Chrome\User Data\Default\Service Worker.

решение2

@harrymc ответил, как сбросить кэш методом подбора. Вот метод, позволяющий пройти сайт за сайтом, немного понимая, что происходит.

Если вы вставите [chrome/edge/vivaldi/...]://serviceworker-internals/в адресную строку, вы увидите всех зарегистрированных работников сервиса. Однако, отмена регистрации через эту страницу не очистит кэш, так какэта всеобъемлющая статья о love2devпримечания.

Вместо этого, если, например, youtube.comзарегистрирован serviceworker, перейдите на этот сайт и откройте консоль разработчика. Откройте вкладку «Приложение» и элемент «Хранилище».

Консоль разработчика - Приложение - Хранилище

Здесь вы увидите, сколько памяти занимает ваш Service Worker, и сможете выбрать, какие данные следует очистить для этого веб-сайта, например, сохранив только файлы cookie.

Обратите внимание, что Service Worker перезапустится, как только вы снова перейдете на этот сайт.

Если вы хотите выбрать, какие приложения могут устанавливать Service Worker в вашей системе,следуйте инструкциям, описанным в этой статье, используя плагин uBlock.

Это дикое предположение, но 5 ГБ хранилища ServiceWorker, вероятно, представляет собой какой-то веб-клиент электронной почты с включенным офлайн-контентом: важно понимать, что serviceworkers изначально были задуманы для мобильных устройств, которые не всегда находятся в сети, и поэтому будут кэшировать некоторые данные веб-приложений в локальной системе. Кроме того, serviceworker может получать push-сообщения для неактивного веб-приложения и активировать это приложение. Gmail — яркий пример: на мобильном устройстве вы можете читать и писать электронную почту в автономном режиме, и она синхронизируется, как только вы подключаетесь к сети. И даже если приложение gmail неактивно после перезагрузки телефона, serviceworker получит push-сообщение о том, что в вашем почтовом ящике есть что-то новое.

Таким образом, на ПК, который всегда подключен к интернету, serviceworkers на самом деле не нужны, разве что для ускорения работы некоторых веб-сайтов. Однако может быть так, что в настоящее время некоторые веб-сайты просто не будут работать правильно, если вы заблокируете их serviceworker (но я бы сказал, что это плохая практика кодирования).

Для более полного понимания прочтите две связанные статьи. Также,Введение Google в Service Workersможет пролить больше света на происходящее.

решение3

Более безопасное решение для очистки этой папки: в chrome/edge/vivaldi перейдите в «Настройки» -> «Конфиденциальность и безопасность» -> «Файлы cookie и другие данные сайтов» -> «Просмотреть все файлы cookie и данные сайтов», вы получите список всех сайтов, которые сохранили данные на вашем компьютере. Некоторые из них содержат только файлы cookie, но некоторые будут иметь «Локальное хранилище» или «Хранилище базы данных».

Можно проверить каждый элемент, сколько памяти используется. Вы можете использовать "удалить все", чтобы удалить все, но имейте в виду, что все файлы cookie и тому подобное также будут удалены.

решение4

Чтобы добавить ктекущий ответчто безопасно очищать кэш, я устал периодически очищать этот кэш, и он так быстро растет. Я использую расширение Chrome, чтобы блокировать все Service Workers. У него должна быть функция белого списка, потому что некоторые веб-сайты действительно нуждаются в них, и вы им доверяете. Это имеет еще один положительный эффект, так как много мусорных Service Workers также устанавливаются трекерами.

Просто найдите Service Worker blockerв Google или Chrome Webstore (поэтому я не рекламирую ни один из них).

Также в качестве дополнения к комментарию можно отметить, что вы можете быстро получить доступ к папке кэша по этому пути:%localappdata%\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage

Связанный контент