İtiraf : Korumakta olduğum siteler, çoğunlukla Google'ın Hız İzleyicisi'nde Page Speed & Y-Slow Firefox eklentileri ve Ağ Kaynakları görünümünden gelen önerileri izleyen sunucunun varsayılan yapılandırmasına bağlı olarak Önbellek Kontrolü için farklı kurallara sahiptir . Önbellek Denetimi, yaptıklarına bağlı olarak özel / herkese açık olarak ayarlanır, ETag'ın / Son Değiştirilmiş başlıkları yalnızca Y-Slow bir sorun olduğunu önerdiğinde ve Amazon için dosyaları elle gzip ederken Vary-Accept-Encoding gerekli göründüğünde değişir. CloudFront.
Malzemeyi farklı seçenekler ve bunların yaptıkları hakkında okurken, çelişkili bilgiler, kırık proxy'ler ve kargo kült yapılandırmaları için kurallar gibi görünüyor . Yukarıda belirtilen analiz araçları tarafından sağlanan resmi bilgilere, birleşik bir strateji yerine her bir konuyla ayrı ayrı ele alındığından oldukça erişilemez (bu nedenle tekniklerin çapraz referansı yoktur).
Örneğin, hız analizi araçlarının, ETag'lı bir siteyi önbelleklemeye yardımcı olmaları amaçlanıyorsa, onlarsız bir siteyle aynı şekilde derecelendirdiklerinin hiçbir anlamı yoktur.
Platform agnostik Önbellek Kontrolü stratejisi için zor ve hızlı kurallar nelerdir?
DÜZENLE:
Bir bağlantı aracılığıyla Jeff Atwood makalesinde süper derinlikte Caching açıklıyor.
Kayıt için olsa da zor ve hızlı kurallar:
Dosya GZIP vb. Kullanılarak Sıkıştırılmışsa - proxy olarak sıkıştırılmış sürümü desteklemeyen bir istemciye döndürebilir (tarayıcı önbelleği bu şekilde işaretlenmiş dosyaları tutacaktır). Ayrıca sıkıştırılabilir olduğunu söylemek için bir "Vary: Accept-Encoding" eklemeyi unutmayın.
ETag ile birlikte Son Değişiklik Kullanın - kemer ve parantez kullanımı her iki doğrulayıcı sağlarken, ETag her iki tabanı da kullanarak değişiklik zamanı yerine yalnızca dosya içeriğine dayanır. NOT: AOL'nin PageTest ürününün bir nedenden ötürü ETag'lara karşı carte blanche yaklaşımı vardır. Aynı içeriği barındırmak için birden fazla sunucuda Apache kullanıyorsanız, aynı canlı dosya sistemini kullanmadığınız sürece, örtük olarak bildirilen inode'yi ETags'den FileETag yönergesinden (yani "FileETag MTime Size") hariç tutarak kaldırın.
Mümkün olan her yerde "cache-control: public" kullanın - bu, sayfanın geri kalanında HTTP kimlik doğrulaması vb. Gerekiyorsa bile proxy sunucularının (ve tarayıcı önbelleğinin) içeriğinizi döndüreceği anlamına gelir.