Önbellek Nasıl Temizlenir, Hangi Kural Devreye Giriyor?

Haberci

SEO UZMANI
Yönetici
Katılım
21 May 2023
Mesajlar
753
Tepki
17
Puan
18
992




"Önbelleği temizle" tavsiyesi çoğu sorunun standart cevabı hâline geldi. Oysa hangi kopyanın nerede durduğu bilinmeden yapılan temizlik, sorunu çözmediği gibi nedenini de gizliyor.

Aşağıda saklanan bir yanıtın hangi kurallarla geçersiz kılındığını, hangi yönergelerin saklamayı baştan engellediğini ve tarayıcı tarafındaki temizliğin neyi kapsayıp neyi kapsamadığını standart belgeye bakarak topluyoruz.

Geçersiz kılmak ne demek?​


RFC 9111 terimi açıkça tanımlıyor: geçersiz kılmak, önbelleğin hedef adresle eşleşen bütün saklanmış yanıtları kaldırması ya da bunları "geçersiz" olarak işaretleyip sonraki bir isteğe yanıt olarak gönderilmeden önce zorunlu doğrulamaya tabi tutması anlamına geliyor.

İki seçenek de kabul ediliyor: silmek ya da işaretlemek. İkincisinde kopya duruyor ama kullanılmadan önce köken sunucuya sorulması gerekiyor.

Bu tanım, "temizlik" işinin tek bir eylem olmadığını gösteriyor.

  • Seçenek 1: Saklanan yanıtları kaldırmak.
  • Seçenek 2: Geçersiz işaretleyip doğrulamaya zorlamak.
  • Sonuç: İki yolda da eski kopya doğrudan sunulamıyor.

Ne zaman kendiliğinden geçersiz oluyor?​


Standart, durumu değiştiren isteklerden sonra temizliği zorunlu kılıyor. PUT, POST veya DELETE gibi güvenli olmayan istek yöntemleri köken sunucuda durumu değiştirme potansiyeli taşıdığı için, aradaki önbelleklerin içeriklerini güncel tutmak amacıyla saklanan yanıtları geçersiz kılması gerekiyor.

Kural da net: önbellek, güvenli olmayan bir istek yöntemine hata dışı bir durum kodu döndüğünde hedef adresi geçersiz kılmak zorunda.

Başka adresler için ise takdir tanınıyor: önbellek, aynı koşulda başka adresleri de geçersiz kılabiliyor. Yanıttaki Location ve Content-Location başlıklarında yer alan adresler bunun ilk adayları.

Bir sınır da konuyor: geçersiz kılınacak adresin kökeni, hedef adresin kökeninden farklıysa önbellek bu işlemi tetiklememeli. Belge gerekçeyi de yazıyor; bu kural hizmet dışı bırakma saldırılarını önlemeye yardımcı oluyor.

Hata dışı yanıtın tanımı da veriliyor: 2xx veya 3xx durum kodu taşıyan yanıt.

Püf nokta' Alıntı:
Bir kayıt güncellendiğinde önbelleği elle temizlemek çoğu zaman gerekmiyor; standart bunu güvenli olmayan yöntemlere bağlamış durumda.

Saklamayı baştan engellemek​


Bazı içerikler hiç saklanmamalı. Standart bunun için ayrı bir yönerge tanımlıyor: no-store istek yönergesi, önbelleğin bu isteğin ya da ona verilen yanıtın hiçbir parçasını saklamaması gerektiğini belirtiyor.

Kapsam geniş: bu yönerge hem özel hem paylaşılan önbellekler için geçerli.

Belge "saklamamak" ifadesini de tanımlıyor: önbellek bilgiyi kalıcı depolamaya bilerek yazmamalı ve ilettikten sonra geçici bellekten olabildiğince hızlı biçimde kaldırmak için elinden geleni yapmalı.

Bir uyarı da var: bu yönerge gizliliği sağlamak için güvenilir ya da yeterli bir mekanizma değil. Kötü niyetli veya ele geçirilmiş önbellekler yönergeyi tanımayabiliyor, iletişim ağları da dinlemeye açık olabiliyor.

Doğrulamaya zorlamak​


Üçüncü yol saklamayı engellemeden kullanımı denetlemek. Standarda göre no-cache istek yönergesi, istemcinin, saklanmış bir yanıtın köken sunucuda başarılı bir doğrulama yapılmadan kullanılmamasını tercih ettiğini belirtiyor.

Aradaki fark önemli: no-store kopyayı hiç oluşturmuyor, no-cache kopyanın kullanımını doğrulamaya bağlıyor.

Standart bir ayrıntıyı da not ediyor: no-store taşıyan bir istek önbellekten karşılanırsa, bu yönerge zaten saklanmış olan yanıt için geçerli olmuyor.

Neden "hepsini sil" iyi bir çözüm değil?​


Toplu temizlik, sorunu geçici olarak gizliyor ama sebebini ortadan kaldırmıyor. Aynı yapılandırma yerinde kaldığı sürece eski kopya birkaç saat içinde yeniden oluşuyor.

İkinci sorun maliyet. Bütün kopyalar silindiğinde sonraki isteklerin hepsi köken sunucuya gidiyor; yoğun bir sitede bu, ani bir yük artışı anlamına geliyor.

Standardın yaklaşımı bu yüzden hedefli: geçersiz kılma hedef adrese bağlanıyor, kökeni farklı adresler kapsam dışı bırakılıyor.

Pratik sıra da buradan çıkıyor: önce hangi adresin eski kaldığını belirlemek, sonra o adresi geçersiz kılmak, en son yapılandırmayı düzeltmek.

Peki tarayıcıda temizlemek?​


Tarayıcı önbelleği, standardın özel önbellek dediği katmanın karşılığı. Oradan yapılan temizlik yalnız o cihazdaki kopyayı etkiliyor.

Bir sayfa hâlâ eski görünüyorsa sıradaki soru, kopyanın paylaşılan bir katmanda durup durmadığı oluyor. Aynı adresi başka bir cihazdan ve ağdan açmak, sorunun hangi katmanda olduğunu ayırt etmenin en hızlı yolu.

Sunucu tarafında ise çözüm elle silmekten çok kuralları doğru kurmak: saklanmaması gereken yanıtta no-store, doğrulama gereken yanıtta no-cache.

Teşhis sırasını CDN önbellek teşhisi yazımızda, sitenin açılmama sorununun hangi tarafta olduğunu ayırt etmeyi site açılmıyor yazımızda ve silinen sayfada hangi kodun kullanılacağını 404 ve 410 yazımızda anlatmıştık.

Sık Sorulan Sorular​


Önbellek nasıl temizlenir?
Standarda göre saklanan yanıtlar ya kaldırılıyor ya da geçersiz işaretlenip zorunlu doğrulamaya tabi tutuluyor.

Kendiliğinden temizlenir mi?
PUT, POST veya DELETE gibi yöntemlere hata dışı yanıt döndüğünde önbellek hedef adresi geçersiz kılmak zorunda.

no-store ne yapıyor?
İsteğin ve yanıtın hiçbir parçasının saklanmamasını istiyor; hem özel hem paylaşılan önbellekler için geçerli.

no-store gizlilik sağlar mı?
Belge bunun güvenilir veya yeterli bir gizlilik mekanizması olmadığını açıkça söylüyor.

no-cache ile farkı ne?
no-cache saklamayı engellemiyor; saklanan yanıtın doğrulama olmadan kullanılmamasını istiyor.

Özetle​


Önbellek temizliği tek bir düğme değil. Standart, durumu değiştiren isteklerden sonra geçersiz kılmayı zorunlu tutuyor ve geçersiz kılmayı silme ya da doğrulamaya zorlama olarak tanımlıyor. Saklamayı engellemek için no-store, kullanımı doğrulamaya bağlamak için no-cache var. Tarayıcıdan yapılan temizlik ise yalnız o cihazdaki kopyayı kapsıyor.

Eski içerik sorununda kopyanın hangi katmanda durduğunu sınıyor musunuz?

Güncelleme: 3 Eylül 2026. RFC 9111 (HTTP Caching) kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_24.jpg
    banner_24.jpg
    7 KB · Görüntüleme: 3
Geri
Üst