hosting

Tarayici Onbellegi Basliklari: ETag, Last-Modified ve Dogru Sureler

Tarayici onbellegi nasil ayarlanir? Tazelik ve dogrulama modelleri, surum damgasi ve gizli icerik korumasi. Tarayıcı Önbelleği Başlıkları: ETag…

Tarayici Onbellegi Basliklari: ETag, Last-Modified ve Dogru Sureler
İçindekiler
  1. Tarayıcı Önbelleği Başlıkları: ETag, Last-Modified ve Doğru Süreler
  2. Sunucu ve Tarayıcı Önbelleği
  3. İki Farklı Model
  4. Doğrulama Başlıkları
  5. Süre Seçimi
  6. Sürüm Damgası
  7. Gizli İçerik
  8. Sık Yapılan Hatalar
  9. Doğrulama
  10. Sonuç
  11. Sıkça Sorulan Sorular (SSS)
  12. Güncelleme yaptım ama ziyaretçiler eski dosyayı görüyor?
  13. Hangi dosyaya ne kadar süre vermeliyim?
  14. İçerik damgası mı son değişiklik tarihi mi?
  15. Hesap sayfaları önbelleklenirse ne olur?

Tarayici Onbellegi Basliklari: ETag, Last-Modified ve Dogru Sureler

Tarayıcı Önbelleği Başlıkları: ETag, Last-Modified ve Doğru Süreler

Bir stil dosyasını güncellediniz ama ziyaretçilerin bir kısmı hâlâ eski görünümü görüyor. Ya da tam tersi: hiçbir dosya önbelleğe alınmıyor ve her sayfa yüklemesinde her şey yeniden indiriliyor. İki sorun da aynı yerden, önbellek başlıklarından kaynaklanır.

Bu yazı, tarayıcı önbelleğinin doğru yapılandırılmasını ele alıyor.

Sunucu ve Tarayıcı Önbelleği

Sunucu önbelleği Tarayıcı önbelleği
Sayfa üretimini azaltır İsteği tamamen kaldırır
İstek yine gelir İstek hiç gelmez
Sizin kontrolünüzde Ziyaretçide saklanır

İkinci satır tarayıcı önbelleğinin gücünü açıklar: doğru başlıklarla işaretlenmiş bir dosya için tarayıcı sunucuya hiç bağlanmaz — ağ gecikmesi bile oluşmaz ve dosya diskten anında okunur.

Bu, en hızlı istek türüdür çünkü hiç yapılmaz.

Üçüncü satır ise riski gösterir; ziyaretçinin diskindeki kopyayı geri alamazsınız.

Bu nedenle süre seçimi dikkatli yapılmalıdır.

İki Farklı Model

  • Tazelik modeli süre verir.
  • Doğrulama modeli soru sorar.

Bu iki model farklı işler yapar: tazelik modelinde tarayıcı belirtilen süre boyunca hiç sormadan yerel kopyayı kullanır; doğrulama modelinde ise her seferinde sunucuya "değişti mi" diye sorar ve değişmemişse küçük bir yanıt alır.

Birincisi hiç istek üretmez, ikincisi küçük bir istek üretir.

Doğrulama modeli, veri tasarrufu sağlar ama gecikmeyi ortadan kaldırmaz.

En iyi sonuç, ikisinin doğru yerlerde birlikte kullanılmasıyla alınır.

Doğrulama Başlıkları

  1. Sunucu son değişiklik zamanını gönderir.
  2. Veya içerik damgası gönderir.
  3. Tarayıcı sonraki istekte bunu geri yollar.
  4. Değişmemişse gövdesiz yanıt döner.

Dördüncü madde tasarrufun kaynağıdır: dosya değişmemişse sunucu içeriği hiç göndermez, yalnızca "değişmedi" anlamına gelen kısa bir yanıt döner — bir megabaytlık görsel için birkaç yüz baytlık trafik yeterli olur.

İçerik damgası, dosyanın içeriğinden üretilen bir imzadır.

Son değişiklik zamanından daha güvenilirdir çünkü içerik aynıysa damga da aynıdır.

Dosya kopyalandığında tarih değişir ama damga değişmez.

Süre Seçimi

İçerik türü Önerilen süre
Sürüm damgalı stil ve betik Bir yıl
Görseller Bir ay
HTML sayfaları Kısa veya doğrulamalı
Kişiye özel sayfalar Hiç önbelleklenmemeli

Birinci satırdaki uzun süre yalnızca bir koşulla mümkündür: dosya adında sürüm damgası varsa süreyi bir yıl vermek güvenlidir — çünkü içerik değiştiğinde dosya adı da değişir ve tarayıcı onu yeni bir dosya olarak indirir.

Damga olmadan uzun süre vermek tehlikelidir.

Dördüncü satır ise güvenlik konusudur; kişiye özel içerik paylaşılan bir önbellekte saklanmamalıdır.

Bu, aşağıda ayrıca ele alınıyor.

Sürüm Damgası

  • Dosya adına sürüm eklenir.
  • İçerik değişince ad değişir.
  • Eski kopya artık istenmez.

Bu üçlü, önbellek yenileme sorununu tamamen çözer: güncelleme sonrası ziyaretçinin eski dosyayı görmesi, dosya adı aynı kaldığı için olur — ada içerik özeti eklerseniz bu sorun kökten kalkar.

Adres sonuna sorgu parametresi eklemek de işe yarar ama bazı ara katmanlar bunu yok sayar.

Dosya adının kendisini değiştirmek daha sağlamdır.

Bu yöntem, hem uzun süreli önbelleklemeyi hem anında güncellemeyi birlikte sağlar.

Gizli İçerik

  1. Oturum açmış kullanıcıya özel sayfalar.
  2. Ara sunucular tarafından saklanabilir.
  3. Özel işaretleme gerekir.

İkinci madde gerçek bir gizlilik riskidir: kullanıcıya özel bir sayfa yanlış başlıkla gönderilirse, aradaki bir önbellek sunucusu onu saklayıp başka bir ziyaretçiye gösterebilir — bu, bir kullanıcının hesabının başkasına görünmesi demektir.

Bu tür olaylar nadir ama yıkıcıdır.

Kişiye özel yanıtlar açıkça özel olarak işaretlenmelidir.

Ödeme, hesap ve sepet sayfalarında bu ayar zorunludur.

Sık Yapılan Hatalar

Hata Sonuç
Her şeye önbellek kapalı Gereksiz trafik
HTML'e uzun süre Eski içerik görünür
Çelişen başlıklar Öngörülemez davranış
Damgasız uzun süre Güncelleme ulaşmaz

Üçüncü satır tanısı en zor olanıdır: aynı yanıtta birbiriyle çelişen önbellek başlıkları varsa, farklı tarayıcılar farklı davranır ve sorun bazı ziyaretçilerde görünüp bazılarında görünmez.

Bu genellikle hem sunucu yapılandırmasının hem uygulamanın başlık göndermesinden doğar.

Tek bir yerden yönetmek en temiz çözümdür.

Birinci satır ise aşırı temkinli yapılandırmaların bedelidir ve sayfa hızını doğrudan düşürür.

Doğrulama

  • Tarayıcı geliştirici araçlarını kullanın.
  • İkinci yüklemede kaynak sayısına bakın.
  • Yanıt kodlarını inceleyin.

İkinci madde en hızlı testtir: sayfayı ikinci kez açtığınızda hâlâ tüm dosyalar yeniden indiriliyorsa önbellek başlıklarınız çalışmıyordur — çalışan bir yapılandırmada ikinci yükleme neredeyse hiç trafik üretmez.

Sert yenileme yaparken önbellek atlandığı için normal yenileme kullanılmalıdır.

Üçüncü madde ise doğrulama modelinin çalışıp çalışmadığını gösterir.

Bu kontroller birkaç dakika sürer ve ciddi kazanç sağlar.

Statik dosyaların doğru başlıklarla sunulması sunucu yapılandırmasına erişim gerektirir; Linux hosting paket seçenekleri ile yapılandırma dosyalarınızı kendiniz düzenleyebilirsiniz.

Sonuç

Tarayıcı önbelleği en hızlı isteği üretir çünkü doğru başlıklarla işaretlenmiş bir dosya için tarayıcı sunucuya hiç bağlanmaz. Uzun süreleri yalnızca sürüm damgalı dosyalara verin — içerik değiştiğinde dosya adı da değişirse tarayıcı onu yeni dosya olarak indirir. HTML sayfalarını doğrulama modeliyle sunun ve kişiye özel içeriği mutlaka özel olarak işaretleyin.

Sıkça Sorulan Sorular (SSS)

Güncelleme yaptım ama ziyaretçiler eski dosyayı görüyor?

Dosya adı aynı kaldığı için tarayıcı yerel kopyasını kullanıyor. Çözüm, dosya adına içerik özeti eklemektir; içerik değişince ad da değişir ve tarayıcı onu yeni bir dosya olarak indirir. Bu yöntem hem uzun önbelleklemeyi hem anında güncellemeyi sağlar.

Hangi dosyaya ne kadar süre vermeliyim?

Sürüm damgalı stil ve betiklere bir yıl, görsellere bir ay, HTML sayfalarına kısa süre veya doğrulama modeli. Kişiye özel sayfalar hiç önbelleklenmemelidir. Damga olmadan uzun süre vermek tehlikelidir çünkü güncelleme ziyaretçiye ulaşmaz.

İçerik damgası mı son değişiklik tarihi mi?

İçerik damgası daha güvenilirdir çünkü dosyanın içeriğinden üretilir; içerik aynıysa damga da aynıdır. Dosya kopyalandığında tarih değişir ama damga değişmez. İkisi de dosya değişmemişse gövdesiz kısa bir yanıt döndürerek trafikten tasarruf sağlar.

Hesap sayfaları önbelleklenirse ne olur?

Ciddi bir gizlilik riski doğar. Kullanıcıya özel bir sayfa yanlış başlıkla gönderilirse aradaki bir önbellek sunucusu onu saklayıp başka bir ziyaretçiye gösterebilir. Ödeme, hesap ve sepet sayfalarını açıkça özel olarak işaretleyin.