
Bir internet sitesinin logosu değişir, fakat siz hâlâ eski hâlini görürsünüz. Bunun nedeni dosyanın gerçekten güncellenmemiş olması da önbellekteki bir kopyanın kullanılması da olabilir. Önbelleği anlamak, her sorunda bütün tarayıcı verilerini silmek yerine daha küçük ve doğru bir kontrol yapmayı sağlar.
Önbelleğin amacı yeniden indirmeyi azaltmaktır
Tarayıcı; görsel, stil dosyası ve başka kaynakların kopyalarını saklayabilir. Uygun koşullarda bu kopyaları kullanarak ağ üzerinden tekrar indirme ihtiyacını azaltır. Böylece sayfa daha hızlı açılabilir ve veri kullanımı düşebilir. Ancak dosyanın ne kadar süre geçerli kabul edileceği önemlidir.
Örneğin bir makalenin kapak fotoğrafı değişmiyorsa her ziyarette yeniden indirilmesi gereksizdir. Buna karşılık kişiye özel hesap bilgisinin ortak önbellekte saklanması uygun olmayabilir. Hangi içeriğin nerede tutulacağı, sunucunun gönderdiği kurallarla ve kullanılan uygulamanın yapısıyla ilişkilidir.
Tek bir önbellek bulunmadığını bilin
Tarayıcının kendi kopyası dışında sunucu, içerik dağıtım ağı veya uygulama katmanında da önbellek olabilir. Bu nedenle tarayıcı verisini temizlemek bütün eski kopyaları ortadan kaldırmaz. Sunucu hâlâ eski sayfayı veriyorsa başka cihaz da benzer sonucu görebilir.
Teşhis için önce değişikliğin türünü tanımlayın: metin mi, görsel mi, sayfa düzeni mi? Sonra aynı URL'yi başka bir tarayıcıda veya oturum kapalı pencerede karşılaştırın. Bu karşılaştırma yardımcıdır; tek başına bütün katmanları kesin olarak ayıran bir test değildir.
Kaynak adresi ile dosya içeriğini ayırın
Aynı dosya adresinin içeriği değiştiğinde eski kopya geçerli sayılmaya devam edebilir. Site geliştiricileri bu durumu yönetmek için dosya sürümünü veya adresini değiştiren yöntemler kullanabilir. Amaç, gerçekten değişen kaynağın yeni kopyasını istemektir.
Bir site sahibi için kısa kontrol listesi:
- Yeni dosya doğru sunucuya yüklenmiş mi?
- Sayfa doğru dosya adresini kullanıyor mu?
- Uygulama veya ara katman eski HTML sunuyor mu?
- Statik dosyanın sürümü değişiklikle uyumlu mu?
- Yeni ziyaretçi güncel sonucu görüyor mu?
Dosya adını rastgele değiştirmek yerine dağıtım sürecinin parçası olan tutarlı yöntem seçin.
Yeniden doğrulama, yeniden indirmekten farklıdır
HTTP önbellek sistemi, bir kaynağın değişip değişmediğini sunucuya sorabilir. Kaynak aynıysa tam dosyanın yeniden gönderilmesi gerekmeyebilir. Bu davranış, ağ kaydı okurken her küçük yanıtın eksik dosya anlamına gelmediğini açıklar.
Teknik incelemede Cache-Control, ETag ve benzeri başlıklar yararlıdır. Ancak bütün kaynaklara aynı kuralı uygulamak doğru değildir. Kişisel veri taşıyan yanıtlar, sık değişen içerik ve uzun süre aynı kalan görseller farklı gereksinimlere sahiptir. Kullanıcı verisini hız uğruna yanlış yerde saklamayın.
Gereken alanı temizleyip sonucu kontrol edin
Ziyaretçi olarak önce normal yenileme ve ilgili sayfayı yeniden açma gibi küçük adımlarla başlayın. Gerekirse yalnızca sorunlu sitenin verisini temizleyin; bütün sitelerin oturumlarını kaybetmek çoğu durumda gereksizdir. Yönetici olarak ise asıl dağıtım ve önbellek katmanını düzeltin.
Son kontrolü yalnızca kendi açık oturumunuzda yapmayın. Güncel içeriğin normal ziyaretçiye ulaştığını doğrulayın. Önbellek bir arıza değil, doğru yönetilmesi gereken performans aracıdır. Sorun çoğu zaman kopyanın varlığı değil, hangi kopyanın ne zaman yenileneceğinin belirsiz bırakılmasıdır.
Bir tasarım güncellemesinde değişmeyen tek şey logo olsun. Önce logo dosyasının doğrudan adresini açın, sonra sayfanın hangi adresi istediğini karşılaştırın. Yeni dosya başka klasöre yüklenmişse tarayıcı temizliği çözüm sağlamaz. Doğrudan dosya güncel ama sayfa eski adresi kullanıyorsa uygulama çıktısı veya şablon incelenmelidir. Bu küçük ayrım, sorunu “önbellek var” ifadesinden daha kesin biçimde tanımlar. Sorun giderme sırasında rastgele bütün verileri temizlemek yerine gözlenen davranışı not edin. Böylece çözümün neden işe yaradığını bilir, bir sonraki dağıtımda aynı durumun oluşmasını önleyecek adımı sürece ekleyebilirsiniz.