Önbellek Nedir, Eski Sayfa Neden Karşımıza Çıkıyor?

Haberci

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




Sitede bir değişiklik yaptınız, tarayıcıyı yenilediniz ama eski hâli duruyor. Sorumlu genelde tek bir şey oluyor: araya giren bir kopya. Bu kopyanın teknik adı önbellek.

Bu yazı önbelleğin ne olduğunu, hangi türlerinin bulunduğunu, bir yanıtın ne zaman "taze" sayıldığını ve neden kişiye özel içeriğin herkesle paylaşılan bir kopyada durmaması gerektiğini standart belgeye dayanarak açıklıyor.

Tanım​


RFC 9111, HTTP önbelleklemesini tanımlayan standart, işlevi tek cümlede veriyor: bir önbellek, gelecekteki eşdeğer isteklerde yanıt süresini ve ağ bant genişliği tüketimini azaltmak için önbelleklenebilir yanıtları saklıyor.

Belgeye göre herhangi bir istemci veya sunucu önbellek kullanabiliyor; tünel olarak davranırken bunun istisnası var.

Amaç da açıkça yazılı: HTTP önbelleklemesinin hedefi, mevcut bir isteği karşılamak için önceki bir yanıt mesajını yeniden kullanarak performansı belirgin biçimde artırmak.

  • Ne yapıyor: Yanıtı saklayıp yeniden kullanıyor.
  • Neyi azaltıyor: Yanıt süresi ve bant genişliği tüketimi.
  • Kim kullanabiliyor: İstemci de sunucu da.

İki tür önbellek​


Belirtim önbellekleri kime hizmet ettiklerine göre ikiye ayırıyor.

Paylaşılan önbellek, yanıtları birden fazla kullanıcının yeniden kullanması için saklayan önbellek. Belgeye göre bunlar genellikle (ama her zaman değil) bir aracının parçası olarak konumlandırılıyor.

Özel önbellek ise tek bir kullanıcıya adanmış oluyor ve çoğunlukla bir kullanıcı aracısının bileşeni olarak yer alıyor.

MDN'in önbellekleme rehberi ayrımı pratikleştiriyor: özel önbellek belirli bir istemciye bağlı, tipik olarak tarayıcı önbelleği. Saklanan yanıt başka istemcilerle paylaşılmadığı için o kullanıcıya özel kişiselleştirilmiş yanıt saklanabiliyor.

Püf nokta' Alıntı:
Kişiselleştirilmiş içerik özel önbellek dışında bir yerde saklanırsa, başka kullanıcılar o içeriği alabiliyor.

Taze ne demek?​


Belirtim tazelik kavramını doğrulama ile birlikte tanımlıyor: bir önbellek, saklanan yanıtı doğrulama olmadan yeniden kullanabiliyorsa onu taze sayıyor.

Doğrulamanın ne olduğu da yazılı: önbellekteki yanıtın bu istek için hâlâ geçerli olup olmadığını görmek üzere köken sunucuya sormak.

Taze bir yanıtın kazancı iki yönlü: önbellek onu her yeniden kullandığında hem gecikmeyi hem ağ yükünü azaltıyor.

Yanıt taze değilse iş bitmiyor. Belirtime göre doğrulama onu tazeleyebiliyorsa ya da köken sunucu erişilemez durumdaysa saklanan yanıt hâlâ kullanılabilir oluyor.

Sunucu tarafında ne kazandırıyor?​


MDN kazancı iki başlıkta topluyor. Birincisi mesafe: isteği köken sunucuya iletmeye gerek kalmadığı için istemci ile önbellek birbirine ne kadar yakınsa yanıt o kadar hızlı geliyor.

İkincisi işlem yükü. Bir yanıt yeniden kullanılabilir olduğunda köken sunucunun isteği işlemesi gerekmiyor; isteği ayrıştırmak, yönlendirmek, çerezden oturumu geri yüklemek, veri tabanını sorgulamak ya da şablon motorunu çalıştırmak gerekmiyor.

MDN bu yüzden bir uyarı da ekliyor: önbelleğin doğru çalışması sistemin sağlığı açısından kritik.

Paylaşılan önbelleğin alt türleri​


MDN paylaşılan önbelleği istemci ile sunucu arasında konumlanan ve kullanıcılar arasında paylaşılabilen yanıtları saklayan katman olarak tarif ediyor; ardından ikiye ayırıyor: vekil önbellekler ve yönetilen önbellekler.

Vekil önbellekler için önemli bir not var: bunlar genellikle hizmeti geliştiren tarafça yönetilmiyor, bu yüzden uygun HTTP başlıklarıyla denetlenmeleri gerekiyor.

MDN güncel durumu da anlatıyor: HTTPS yaygınlaştıkça ve istemci-sunucu iletişimi şifrelendikçe yol üzerindeki vekil önbellekler çoğu durumda yanıtı yalnız tünelleyebiliyor, önbellek gibi davranamıyor.

Kişiselleştirme tarafında ise net bir kural veriliyor: yanıt kişiselleştirilmiş içerik taşıyorsa ve yalnız özel önbellekte saklanmasını istiyorsanız private yönergesini belirtmeniz gerekiyor. MDN çerezin varlığının tek başına yanıtı kişiye özel yapmadığını da hatırlatıyor.

Neden "eski sayfa" görünüyor?​


Bir değişikliğin görünmemesi, önbelleğin bozuk çalıştığı anlamına gelmiyor; çoğu zaman tam da tarif edildiği gibi çalıştığı anlamına geliyor. Saklanan yanıt hâlâ taze sayılıyorsa katman köken sunucuya hiç sormuyor.

Sorunun katmanlı olması teşhisi zorlaştırıyor. Aynı sayfanın kopyası tarayıcıda, ağdaki bir aracıda ve içerik dağıtım katmanında ayrı ayrı durabiliyor; birinde temizlik yapmak diğerini etkilemiyor.

Bu yüzden ilk soru "önbelleği nasıl temizlerim" değil, "bu kopyayı hangi katman tutuyor" oluyor. Yanıtın nereden geldiği belirlenmeden yapılan temizlik çoğu zaman yanlış katmanda kalıyor.

Uygulamada nereye bakılır?​


Eski içerik görünüyorsa sorun genelde hangi katmanın kopyayı tuttuğunda düğümleniyor. Teşhis sırasını CDN önbellek teşhisi yazımızda anlatmıştık.

Aynı adresin farklı kullanıcılara farklı yanıt vermesi gerekiyorsa devreye başka bir başlık giriyor; kurulumunu Vary başlığı yazımızda ele almıştık.

Köken sunucunun yükünü azaltmanın ek bir yolunu ise origin shield yazımızda incelemiştik.

Sık Sorulan Sorular​


Önbellek nedir?
Gelecekteki eşdeğer isteklerde yanıt süresini ve bant genişliğini azaltmak için yanıtları saklayan yapı.

Kaç tür önbellek var?
İki ana tür: birden çok kullanıcıya hizmet eden paylaşılan önbellek ve tek kullanıcıya adanmış özel önbellek.

"Taze" ne anlama geliyor?
Saklanan yanıtın doğrulama yapılmadan yeniden kullanılabilmesi.

Taze değilse ne oluyor?
Doğrulama tazeleyebiliyorsa veya köken sunucu erişilemezse yanıt yine kullanılabiliyor.

Kişiye özel içerik önbelleklenir mi?
Yalnız özel önbellekte; bunun için private yönergesinin belirtilmesi gerekiyor.

Özetle​


Önbellek, yanıtı saklayıp yeniden kullanarak hem gecikmeyi hem sunucu yükünü azaltan bir katman. Standart iki tür tanımlıyor: paylaşılan ve özel. Bir yanıt doğrulama gerektirmeden kullanılabiliyorsa taze sayılıyor; taze değilse doğrulama ya da sunucunun erişilemezliği devreye giriyor. Kişiselleştirilmiş içerik ise yalnız özel önbellekte durmalı.

Sitenizde oturum açmış kullanıcıya özel sayfalar hangi önbellekte saklanıyor?

Güncelleme: 3 Eylül 2026. RFC 9111 (HTTP Caching) ve MDN HTTP önbellekleme rehberi kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_23.jpg
    banner_23.jpg
    5.9 KB · Görüntüleme: 0
Geri
Üst