Service Worker Nedir?

İngilizce: Service Worker

Service worker, web sayfasından ayrı çalışan ve ağ isteklerini yakalayıp cache, push bildirimi ve çevrimdışı deneyimi yöneten tarayıcı scriptidir.

Service Worker Nedir?

Service worker, tarayıcıda sayfa ana iş parçacığından ayrı çalışan özel JavaScript dosyasıdır. Sayfa açık olmasa bile belirli olaylara tepki verebilir; ağ isteklerini yakalayabilir, cache’ten yanıt döndürebilir veya push bildirimi alabilir.

Service worker kullanımı HTTPS gerektirir. Çünkü bu script, sayfanın ağ trafiği üzerinde güçlü bir kontrol noktasına sahiptir. Yanlış yapılandırılmış cache kuralları kullanıcıya eski arayüz veya hatalı veri gösterebilir.

Yaşam Döngüsü

  • Register: Sayfa, service worker dosyasını tarayıcıya kaydeder.
  • Install: İlk kurulumda statik varlıklar cache’e alınabilir.
  • Activate: Eski cache sürümleri temizlenir ve yeni worker kontrolü devralır.
  • Fetch: Ağ istekleri yakalanır; cache-first, network-first veya stale-while-revalidate stratejisi uygulanır.
  • Push ve sync: Bildirim veya arka plan senkronizasyonu gibi olaylar işlenir.

İş Dünyasında Kullanımı

Service worker, haber siteleri, e-ticaret katalogları, saha uygulamaları ve düşük bağlantı kalitesi olan kullanıcılar için daha dayanıklı deneyim sağlar. Ürün listesi cache’ten hızlı açılabilir, sipariş taslağı bağlantı gelince senkronize edilebilir veya kritik bildirimler tarayıcı üzerinden iletilebilir.

Bu teknoloji PWA mimarisinin temel parçalarından biridir. Uygulama güncelleme stratejisi, cache versiyonlama ve hatalı worker’ı geri alma planı olmadan production’a alınmamalıdır.