Зачем использовать сервис-службу для кэширования, когда кеш браузера обрабатывает кеширование?
Я читаю служебного работника для кэширования в автономном режиме, аналогичного кешированию браузера. Тогда зачем предпочесть сервис-работнику для этого кэширования. Даже кеширование браузера проверяет файл, который был изменен или нет, а затем служит в кеше, тогда как сервисный работник мы обрабатываем одно и то же из нашего кода. Но по умолчанию браузер имеет эту функцию, поэтому почему бы предпочесть работника службы?
Ответы
Ответ 1
Сервис-работники дают вам полный контроль над сетевыми запросами. Вы можете вернуть все, что хотите для события fetch, это не должно быть прошлое или текущее содержимое этого конкретного файла.
Однако, если кеш браузера обрабатывает ваши потребности, вы не обязаны использовать сервис-работников.
Они также используются для таких вещей, как push-уведомления.
Документация: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API, https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers
Ответ 2
Я хотел рассказать о тех моментах, которые я наблюдал при просмотре документации сервисного работника и ее реализации.
- Кэш браузера отличается, поскольку сервисный рабочий поддерживает автономный кеш, webapp будет получать доступ к кэшированному контенту, даже если сеть недоступна.
- Служебный работник предоставит родной опыт.
- Сервисный рабочий не может изменять содержимое DOM, но все же он может обслуживать страницы в пределах своей области. С помощью таких событий, как postMessage, страница может быть доступна, а DOM можно изменить.
- Работодателю не требуется взаимодействие с пользователем или веб-страница.
Он работает в фоновом режиме.
Ответ 3
На самом деле, он медленнее реагирует на запрос, когда вы используете sw вместо http cache... Так как sw использует cache api для хранения содержимого кэша, он действительно медленнее, чем кеш браузера - кеш памяти и дисковый кеш.
Он не предназначен для работы быстрее, чем http-кеш, однако, когда вы используете sw, вы можете полностью настроить ответ, я думаю, что полностью настраиваемый является причиной, по которой вы должны его использовать.
Если ваша ситуация не достаточно сложна, вы не должны использовать ее