Neden Cache-Control özniteliği istek başlığında gönderilir (istemciden sunucuya)?


163

Cache-ControlHTTP üstbilgisi alanı hakkında okuduktan sonra ,

Anlıyorum Cache-Control, HTTP cevap başlığında (istemciye sunucu) alan için farklı değerler göndererek, tepkisini nasıl ele alınacağı üzerinde ara proxy sunucuları / istemci tarayıcısı için direktifler belirten Cache-ControlKime: private, public, no-cache, veya no-storecevap başlığında.

Ancak neden Cache-Controlistek başlığında (istemciden sunucuya) özniteliği göndermemiz gerekiyor ?

Yanıtlar:


137

Cache-Control: no-cachegenellikle, ara proxy'lerde kaynağın doğrulanmasını zorlamak için bir istek üstbilgisinde (web tarayıcısından sunucuya gönderilir) kullanılır. İstemci bu isteği sunucuya göndermezse, ara proxy'ler içeriğin taze olması durumunda ( Expireveya max-agealanlarına göre süresi dolmamışsa ) bir kopyasını döndürür . Cache-Controlbu proxy'leri kopya olsa da kopyayı yeniden doğrulamaya yönlendirir.


8
Burada çok geç olabilir, ancak bunun dışında diğer kullanımlar nelerdir? Maksimum yaş alanı herhangi bir amaç için kullanılıyor mu?
Sam

Modern tarayıcılar neden bunu yapma eğilimindedir? Web standartlarına göre davransalar bile ara proxy'lere güvenmiyorlar ??
rogerdpack

1
hayır @rogerdpack, onlar çünkü bunu onlar onlar başlığı gönderir, böylece onları güven güven onlar birçok kullanımı gerekenden daha fazla tazeliğini gerektiren bazı özel nedeni var olduğunu belirtmek için onur duyacağız.
Jon Hanna

1
@rogerdpack, durumu değiştirdiğini ve yansıtmak isteyeceğinizi bildiğiniz bir şey yaptıysanız klasik bir durum olacaktır.
Jon Hanna

8
@JonHanna Chrome Geliştirici araçlarında "önbelleği devre dışı bırak" seçeneğini işaretlediniz mi? : D
Gregory Magarshak

15

İstemci Cache-Control, kaynak sunucudan ve istek yolu boyunca herhangi bir ara proxy sunucusundan yeniden doğrulama gibi belirli önbellekleme davranışları istemek için istekte bir başlık gönderebilir .


4

Yukarıdaki cevaba ek olarak,
önbellek zincirlemenin uygulandığı bir kurulum olabilir. Bu durumda, istek yerine getirilmeyen ilk önbelleğe gelirse, daha fazla zincirlenmiş önbelleğe gidebilir.

Bu nedenle her zaman sunucudan yanıt almak için istek başlıklarına önbellek kontrolü ekliyoruz. Bu, yanıtın her zaman sunucudan alınmasını sağlar.


"Bu nedenle her zaman sunucudan yanıt almak için istek başlıklarına önbellek kontrolü ekliyoruz. Bu, yanıtın her zaman sunucudan olmasını sağlar." Bu başlığın hangi değeri bunu başarabilir?
Don Hatch

Cache-Control: no-cacheproxy'lere yanıtın tamamen doğrulandığından emin olmasını söyleyecektir.
Mart'ta mogsie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.