2016-01-13 20 views
5

Chrome önbelleklerini yerel olarak önbelleğe aldık ve javascript dosyasının daha yeni bir sürümü olup olmadığını kontrol etmek için sunucumuza bir istek göndermiyoruz. Bir js dosyası için HTTP yanıt başlıklarınınChrome, önbelleğe almadaki standartları ihlal ediyor mu?

Örnek Google önbelleğe olun:

Accept-Ranges:bytes 
Access-Control-Allow-Headers:Content-Type 
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS 
Access-Control-Allow-Origin:* 
Content-Encoding:gzip 
Content-Length:5479 
Content-Type:application/javascript 
Date:Tue, 12 Jan 2016 22:46:07 GMT 
ETag:"7d68e1ceb647d11:0" 
Last-Modified:Tue, 05 Jan 2016 12:44:25 GMT 
Server:Microsoft-IIS/8.5 
Vary:Accept-Encoding 
x-robots-tag:noindex 

Chrome dosyasını önbelleğe o geçerli mi? Cache-control başlığı yok veya dosyanın yerel olarak önbelleğe alınabileceğini bildiren bir şey var, yalnızca ETag ve Son Modifiye edilmiş.


BTW

önbelleğe dosya dosya adı için sürüm ekleme olmadan değiştiyse Krom kontrol etmek talimat için bir yol (belki bir başlık) var mı? Önbelleğe almayı ayarlamak, önbelleğe alınmasını istediğimden bir seçenek değildir, ancak ETag ve Son Değiştirilen üstbilgileri gerektiği gibi kullanmak istiyorum.

spesifik bir önbellek-kontrol kısıtlanmadığı sürece
+0

Ben ana soruya cevap değilim ama bu biliyor musunuz? http://stackoverflow.com/a/7000899/704097 –

+0

Ayrıca muhtemelen ilgili: http://stackoverflow.com/questions/8294034/chrome-browser-is-not-sending-if-modified-since-header-to- server –

+0

@Miquel, evet Dev araçlarda bu seçeneğin farkındayım. Ama kullanıcılarımın bunu kullanmasını istemiyorum ve sitemin tüm önbelleğini temizleyemiyorum ... – gdoron

cevap

1

(bölüm 14.9) yönergesi, bir önbellek sistemi her zaman başarılı bir yanıt , bir önbellek girdi olarak (bakınız bölüm 13.8 bakınız) ise, doğrulama olmadan geri döndürür depolayabilir Taze ve MAYIS başarılı validasyondan sonra iade edin.

Her zaman zorunlu revalidate yönergesini kullanabilirsiniz. Bir sonraki isteğine yanıt bayat olduktan sonra

mutlaka revalidate direktifi yanıt mevcuttur

bir önbellek tarafından alınan bu önbellek ilk kökenli sunucu ile yeniden valide olmadan girişini kullanmak ZORUNLU .

Source

+0

Hmm ... Önceden belirtmeden önce neden alıntılama yapmayı durdurduğunuzu merak ediyorum. Yanıtın önbelleğe alınabileceğine dair hiçbir belirti olmadığı yanıtlar. "_ Bir önbellek doğrulayıcı veya bir yanıtla ilişkili açık bir bitiş süresi yoksa, önbelleğe alınmasını beklemiyoruz, ancak bazı önbellekler bu beklentiyi ihlal edebilir" – gdoron

İlgili konular