WEB / CASE cache-and-personalization
Cache hit kimin representation’ı?
Public katalog ile kişiye özel response’un cache key, freshness ve authorization sınırlarını karşılaştır.
Gözlem dosyası
Sentetik public katalog response’u Cache-Control: public, max-age=60 ve ETag taşıyor. Ayrı protected profile fixture’ı Cache-Control: private, no-store taşıyor. Bunlar farklı cache policy’leri ve farklı kaynaklardır.
Freshness erişim izni değildir
ETag representation validator’dır; kullanıcı kimliği veya object authorization kararı değildir. 304 sonucu cached body ile ilişkilidir; herkese yeni body verildiğini söylemez. Cache hit’in doğru context/variant için olup olmadığını key ve Vary ile ayrıca araştır.
Her cache hit anormal değildir. Public aynı representation için cache tekrar kullanımı beklenir. Profile davranışını public katalog baseline’ıyla değerlendirmek yanlış pozitif üretir.
Düzeltmenin kanıtı
Katalog için fresh/stale/revalidated dallarını, profile için cache policy ve server authorization’ı ayrı doğrula. Bir no-store header gözlemi bütün geçmiş cache kayıtlarının temizlendiğini veya application cache’in aynı policy’yi uyguladığını kanıtlamaz.
SIRA SENDE
Bu hikâyeyi sen çöz.
Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.
Public katalog validator’ı ile protected profile cache policy’sini karşılaştır. Hangi erişim sonucu bu iki kayıtla kanıtlanmaz?
Sentetik vaka dosyasından seçilen gözlemler
- public catalogue Cache-Control
- public, max-age=60
- public catalogue validator
- ETag present
- protected profile Cache-Control
- private, no-store
- ETag profile için kimlik veya object authorization kanıtı değildir.
- İki kaynak aynı cache policy’yi uyguluyor.
- no-store bütün geçmiş cache entry’lerinin silindiğini kanıtlar.
Gerekçeli cevabı oku
ETag profile için kimlik veya object authorization kanıtı değildir. — Kaynağı ve cache sahibini belirtmeden cache sonucu yorumlanmaz. ETag, cache policy ve authorization birbirinin yerine geçmez; gözlenen no-store bütün cache geçmişini doğrulamaz.
Aynı public katalog representation’ı için cache hit görülüyor. Bunu kişiye özel veri paylaşımı diye raporlamak için ne eksik?
- Her cache hit başka kullanıcıya ait body taşır.
- Kişiye özel kaynak/body ve yanlış context/variant eşleşmesine ilişkin kanıt gerekir.
- ETag bulunması session credential sızıntısıdır.
Gerekçeli cevabı oku
Kişiye özel kaynak/body ve yanlış context/variant eşleşmesine ilişkin kanıt gerekir. — Yanlış pozitiften kaçınmak için hit’in kaynak/context kapsamını koru. Normal public reuse ile protected personalized response davranışı ayrı baseline ve ayrı kanıt ister.
Katalog ve profile için regression planını iki kola ayır. 304 ve no-store gözlemleri hakkında hangi sınırları yazarsın?
Gerekçeli cevabı oku
Katalogda fresh, stale ve revalidated branch’lerini doğru representation/key/Vary bağlamında karşılaştırırım. 304, eldeki cached body ile ilişkilidir; herkese yeni body verildiğini söylemem. Profile kolunda private/no-store policy ile server authorization’ı ayrı doğrularım. Header gözlemini bütün eski entry’ler temizlendi veya application cache aynı policy’ye uyuyor diye genişletmem. Cache sahibi ve gözlem kaynağı her bulguda belirtilir.
□ Katalog fresh/stale/revalidated ayrı ve doğru variant bağlamında mı?
□ 304 cached body ile ilişkilendirildi mi?
□ Profile cache policy ve server authorization ayrı doğrulandı mı?
□ no-store’dan geçmiş entry cleanup veya application cache uyumu varsayılmadı mı?
Bu vakayla bağlantılı dersler · 13
Bu derslerdeki kavramlarla vakaya dön. Bağlantılar vaka kaydına yeni gözlem eklemez; farklı sorumlulukları birlikte incelemene yardımcı olur.