murattunalı.

Önbellek başlığı.

Önbellek başlığı, bir kaynağın ne kadar süre saklanabileceğini ve nasıl doğrulanacağını tarayıcıya bildiren sunucu yanıt başlığıdır.

Temel gerilim tek cümlede: uzun önbellek hızlıdır ama güncelleme yayılmaz; kısa önbellek günceldir ama yavaştır. Çoğu ekip ortada bir değer seçerek her iki dezavantajı birden alıyor.

Gerilimi ortadan kaldıran çözüm içerik damgasıdır: kaynağın adresi içeriğinden türeyen bir damga taşıyor. İçerik değiştiğinde adres de değişiyor, dolayısıyla önbellek süresi bir yıl gibi çok uzun verilebiliyor.

Damganın içerikten türemesi kritik. Rastgele bir sürüm numarası ya da derleme zamanı kullanılırsa, içerik değişmediği hâlde her dağıtımda adres değişir ve önbellek boşa çıkar.

  1. Damgalı stil ve betik — çok uzun süre, değişmez işareti.
  2. HTML sayfaları — kısa ya da doğrulamalı; adres kalıcı olmalı, damgalanamaz.
  3. Yazı tipleri — çok uzun; nadiren değişirler.
  4. Sitemap ve robots — kısa; sık güncellenebilirler.

Değişmez işareti ek bir kazanç sağlıyor: tarayıcıya kaynağı yeniden doğrulamaya bile gerek olmadığını söylüyor. İşaret olmadan sayfa yenilendiğinde bir doğrulama isteği gidebiliyor; işaret varsa o istek hiç yapılmıyor.

Bu işaret yalnız damgalı kaynaklara verilmeli. Adresi sabit bir kaynağa değişmez demek, güncelleme yayılmasını tamamen engelliyor.

Yanlış yapılandırmanın iki klasik biçimi var. Birincisi hiç önbellek vermemek: her ziyarette her kaynak yeniden iniyor ve tekrar ziyaret avantajı tamamen kayboluyor. İkincisi damgasız kaynağa uzun önbellek vermek: güncelleme yayılmıyor ve kullanıcı eski sürümü görmeye devam ediyor.

İkinci hata özellikle sinsi çünkü yalnız daha önce siteyi ziyaret etmiş kullanıcılarda ortaya çıkıyor. Geliştirici gizli pencerede test ediyor, her şey doğru görünüyor, ve gerçek kullanıcılar bozuk sayfa görüyor.

Politikanın tek bir yerde tanımlı olması da önemli: farklı katmanlarda dağınık tanımlar zamanla ayrışıyor ve hangisinin kazandığı belirsizleşiyor.

Politikanın doğru çalıştığını doğrulamak için tarayıcı ağ panelinde bir sayfa iki kez açılır: ikinci açılışta damgalı kaynakların hiç istenmemesi gerekiyor. İstek görünüyorsa ya damga eksik ya da başlık yanlış yazılmış.

Son bir kapsam notu: politika yalnız statik kaynaklar için değil, sayfaların kendisi için de tanımlanmalı. Hiç başlık verilmeyen bir sayfada tarayıcı kendi sezgisel kurallarını uyguluyor ve sonuç öngörülemez oluyor — bazı tarayıcılarda önbelleklenip bazılarında önbelleklenmiyor.

KAYNAKLAR