Когда кеширование файлов с помощью сервисного работника кеш становится очень раздутым, сервисный работник кеширует скрытые файлы? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть служащий, работающий по этому методу здесь , описанный Николасом Беваква Код работает для меня после некоторых небольших настроек. Но при некотором перемещении по кешу происходит некоторое раздувание. Я добавил несколько исключений, например

if (( event.request.url.indexOf( '/maps/' ) !== -1 ) || 
    ( event.request.url.indexOf( '/mapfiles/' ) !== -1 ) || 
    ( event.request.url.indexOf( '/maps-api-v3/' ) !== -1 ) || 
    ( event.request.url.indexOf( '/images/' ) !== -1 ) || 
    ( event.request.url.indexOf( '.mp4' ) !== -1 ) ) {
    return false;
} 

Но что странно, так это то, что общий размер кэша не отражает того, что находится в реальном кэше. Кажется, там есть данные, которых нет в моих двух кешах. Есть ли способ предотвратить это? А работник сервиса кеширует скрытые файлы?

1 Ответ

0 голосов
/ 21 апреля 2020
  1. Вы должны быть немного более точным c - здесь "некоторое серьезное раздувание" не слишком описательно =)
  2. Общий размер кэша не отражает фактические файлы при проверке на диске обычно означает, что вы кешируете непрозрачные ответы . Когда непрозрачный ответ кэшируется, API кэшей скрывает фактический размер ответа, говоря, что он занимает много места. Так, например. Файл 7 КБ может стать 7 МБ в кэше программного обеспечения. Подробнее читайте здесь: https://cloudfour.com/thinks/when-7-kb-equals-7-mb/
  3. Я не уверен, что вы имеете в виду под "данными, которых нет в моих двух кэшах". Вам нужно предоставить примеры вашего кода и скриншотов из DevTools и указать более детально c =)
  4. Нет, Service Worker по умолчанию ничего не кэширует. Я не уверен, что вы подразумеваете под «скрытыми файлами», но все же нет, Service Worker не кэширует ничего, что вы не просили его кэшировать. Если вы попросите его кешировать эти «скрытые файлы», он будет кешировать их. Но нет автоматического механизма c, который бы делал это без вашего ведома.

Надеюсь, это поможет! Не стесняйтесь задавать дополнительные вопросы или обновлять свой вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...