Встречается на собеседованиях • сегодня
Как работает кэширование через Service Worker
Service Worker — это скрипт, работающий в фоновом режиме отдельно от веб-страницы. Он перехватывает сетевые запросы и может кэшировать ресурсы для офлайн-доступа или ускорения загрузки.
Основные этапы:
- Регистрация Service Worker в основном JS-файле:
javascript
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}- В файле
sw.jsобработка событий:
install— кэширование статических ресурсов при первой установкеfetch— перехват запросов и возврат из кэша при наличии
Пример стратегии Cache First:
javascript
self.addEventListener('install', (e) => {
e.waitUntil(
caches.open('v1').then((cache) => {
return cache.addAll(['/styles.css', '/script.js']);
})
);
});
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.match(e.request).then((response) => {
return response || fetch(e.request);
})
);
});Особенности:
- Работает только по HTTPS (кроме localhost)
- Жизненный цикл управляется браузером
- Может обновляться только при изменении файла SW

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы