Bir service worker gerçekte ne yapar
Bir site service worker kaydettiğinde, tarayıcı betiğini her sekmeden ayrı olarak arka planda çalıştırmaya başlar. Worker, sitenin ağ isteklerini araya girerek yakalar, dosyaları yerel önbellekten sunar, kendisini ağdan yeniler ve tüm pencereleri kapatsanız bile push bildirimlerini dinlemeye devam eder. Yüklenebilir web uygulamalarının, çevrimdışı web postasının ve mağaza uygulaması olmadan çalışan mesajlaşma araçlarının arkasındaki makinaya işte bu.
Bu gerçekten iyi bir tasarım — ve tamamen utanmaz bir depolama tasarımı. Diskin imkânı varsa tarayıcı, bir origin'in CacheStorage'da gigabaytlar tutmasına izin verir; bir kez açtığınız bir web oynatıcı ya da belge düzenleyici yıllarca yüzlerce megabayt tutabilir. Worker ve önbellekleri tarayıcı profilinizin içinde oturur ve depolama baskısı tarayıcının elini zorlamadıkça onları dışarı çıkaran hiçbir şey yoktur.
Artıklar nerede yaşar
Chrome ve diğer Chromium tabanlı tarayıcılarda bu depo, her profilin klasörünün içinde Service Worker\CacheStorage ve Service Worker\ScriptCache altında durur. Alışılmış şüpheliler öngörülebilir: web posta, her akış hizmetinin web oynatıcısı, tarayıcı içi mesajlaşma araçları ve çevrimdışı çalışma için bütün arayüzünü önbelleğe alan ofis paketleri. Firefox aynı fikri, origin başına anahtarlanan kendi depolama dizinlerinde yaşatır; yani artıklar yalnızca Chromium'a özgü bir alışkanlık bile değil.
- Chrome/Edge: %LOCALAPPDATA%\<browser>\User Data\<profile>\Service Worker\CacheStorage — burada gigabaytlar normaldir
- En ağır originler: web posta, akış hizmetlerinin web oynatıcıları, tarayıcı içi mesajlaşma araçları, çevrimiçi ofis paketleri
- Depo, tasarım gereği tarayıcı yeniden başlatmalarını, güncellemeleri ve sistemi yeniden başlatmayı atlatır
- Site başına boyut DevTools → Application → Storage'da ya da chrome://settings/content/all içinde görülür
- Bir kez ziyaret ettiğiniz site, önbelleğini siz temizleyene kadar tutar — otomatik sona erme yoktur
Artıkları güvenlice temizlemek
Tek bir site için DevTools → Application → Service Workers içinde bir Unregister düğmesi vardır; chrome://serviceworker-internals ise profildeki her kayıtlı worker'ı aynı seçenekle listeler. Bir sitenin verilerini chrome://settings/content/all'dan temizlemek, worker'ı, önbelleklerini ve çerezlerini tek süpürmede kaldırır — oturumunuz kapanır; üstelik site bir sonraki ziyarette zaten yeniden kaydolur. İki eylem de tehlikeli değildir: en kötü senaryoda bir web uygulaması dosyalarını sonraki sefere yeniden indirir.
Profilin tamamını temizlerken klasörleri elle avlamak çabuk eskir; Kleaner PRO'daki Derin Temizlik tam da bu iş için vardır — tarayıcı önbelleklerini profiller boyunca tek geçişte süpürür, böyle artıklar dâhil. Elle devam etmek isterseniz Service Worker klasörünü boyuta göre sıralayın, en ağır originleri silin ve o günkü işi bitirin. Hangi yolu seçerseniz seçin alan hemen geri gelir; siteler de bir sonraki ziyarette ihtiyaç duyduklarını yeniden kurar.
Sorular ve yanıtlar
Service worker'ları silersem ne olur?
Site, bir sonraki ziyaretinizde yalnızca yeni bir worker kaydeder. O ana dek o sitenin çevrimdışı erişimini ve push bildirimlerini kaybedersiniz; yalnızca çerezleri de temizlerseniz oturumunuz kapanır.
Web siteleri bilgisayarımda neden veri tutar?
Web uygulaması anında açılsın, çevrimdışı çalışsın ve açık sekme olmadan bildirim alabilsin diye. Mağaza uygulamasının yerel önbelleğiyle aynı fikir; yalnızca teslimatı tarayıcıdan yapılır.
Satın almadan önce lisans kapsamını öğrenin.
Tek seferlik 30 dakikalık deneme temel araçları kapsar. PRO özellikleri ücretli lisans etkinleştirilene kadar kilitlidir.
Bunları da okuyun
Bize yazın: [email protected]