Глосарій

Service Worker

Service Worker — JavaScript-файл, що виконується у фоновому потоці браузера, незалежно від сторінки. Перехоплює мережеві запити, кешує ресурси і дозволяє застосунку працювати офлайн. Технічна основа PWA.

Як реєструється

// Реєстрація
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js');
}

// sw.js — файл Service Worker
self.addEventListener('install', event => {
  event.waitUntil(
    caches.open('v1').then(cache =>
      cache.addAll(['/index.html', '/app.css', '/app.js'])
    )
  );
});

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request).then(cached =>
      cached ?? fetch(event.request)
    )
  );
});

Стратегії кешування

Обмеження

Тільки HTTPS. Не має прямого доступу до DOM. Власний цикл життя (install → activate → fetch).