it-swarm-tr.com

Önbellek Kontrolü için zor ve hızlı kurallar nelerdir?

İtiraf : Bakımını yaptığım sitelerde, önbellek kontrolü için çoğunlukla sunucunun varsayılan yapılandırmasına bağlı olarak Sayfa Hızı'nın önerileri doğrultusunda) farklı kurallar var. & Y-Slow Firefox eklentileri ve Google’daki Ağ Kaynakları görünümü Speed ​​Tracer . Önbellek Denetimi ne yapacaklarına bağlı olarak özel/genel olarak ayarlanmış, ETag'ın/Son Değiştirme Tarihi başlıkları yalnızca Y-Slow yanlış bir şey olduğunu söylerse düzeltilir ve Amazon için dosyaları elle sıkarken Vary-Kabul-Kodlama gerekli görünüyorsa CloudFront.

Farklı seçenekler ve ne yaptıkları ile ilgili materyalleri okurken, çelişkili bilgiler, kırık vekil kurallar ve kargo kültü yapılandırmaları gibi görünüyor. Yukarıda belirtilen analiz araçları tarafından sağlanan resmi bilgilerin hiçbirine, birleşik bir strateji yerine, her bir konuyla ayrı ayrı ilgilendiği için erişilemez (bu nedenle tekniklerin çapraz referansı yoktur).

Örneğin, hız analizi araçlarının, ETag'in önbelleğe alma konusunda yardımcı olmaları durumunda, kendileri olmayan bir site ile aynı olan bir siteyi derecelendirdiği bir anlam ifade etmiyor.

Bir platform agnostik Önbellek Kontrolü stratejisi için zor ve hızlı kurallar nelerdir?

DÜZENLEME:

A link - Jeff Atwood'un makalesi Önbelleklemeyi mükemmel derinlikte açıklar.

Buradaki rekor zor ve hızlı kurallar olsa da:

Dosya GZIP kullanılarak sıkıştırılırsa, etc - Proxy olarak "cache-control: private" kullanın, sıkıştırılmış sürümü istemeyen bir müşteriye iade edebilir destekleyin (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 de unutmayın.

ETag - ile birlikte Son Değiştirilme Tarihi'ni kullanın - kemer ve destek kullanımı, hem denetleyici sağlar, hem de ETag yalnızca değişiklik zamanı yerine dosya içeriğine dayanır; tüm tabanları kapsar. NOT: AOL’un PageTest ETAG’lara karşı bir nedenden ötürü carte blanche yaklaşımına sahiptir. Aynı içeriği barındırmak için birden fazla sunucuda Apache kullanıyorsanız, gerçekten kullanmıyorsanız, FileETag yönergesinden (yani, "FileETag MTime Size") hariç tutarak dolaylı olarak bildirilen inode'u ETag'lerden kaldırın. Aynı canlı dosya sistemi.

Yapabildiğiniz her yerde "önbellek denetimi: genel" kullanın - bu, proxy sunucularının (ve tarayıcı önbelleğinin) geri kalanı olsa bile içeriğinizi döndüreceği anlamına gelir Sayfada HTTP kimlik doğrulaması vs. gerekiyor.

15
Metalshark

Bir sunucu grubu/küme kullanmıyorsanız, öncelikle Yahoo’nun söylediği gibi ETag’den kurtulmayın. Aynı dosya, değişmediği zaman her zaman aynı ETag değerini döndürdüğü sürece, bu çok yararlı bir yönergedir.

Diğer başlıklara gelince, Yahoo'nun en iyi uygulamaları , statik dosyalar için çok ileride bir Expires üstbilgisi koymayı önerir, dinamik içerik için Cache-Control kullanın. Bununla birlikte, Cache-control statik içerik için mükemmel derecede iyidir (aralarında hemen hemen hiçbir fark yoktur).

Önbelleğe alınmış statik dosyaları değiştirdiğinizde, dosya adını değiştirmeniz veya sonuna kadar benzersiz bir parametre eklemeniz gerekecektir. example.com/styles.css?v=2. Asıl dosya adını değiştirmek, aşağıdaki yorumlarda belirtildiği gibi olsa da tercih edilir.

Bu arada, Etag kuralını kaldırmak ve kendi etki alanınızı bir CDN olarak eklemek için, YSlow kurallarını istediğiniz gibi düzenleyebilirsiniz. Bu makale aynı zamanda iyi bir okuma: Yahoo'nun Sorunları Sizin Sorununuz Değil

8
DisgruntledGoat

Önbelleğe alma özelliğini kullanmak için kaynaklarınızın istek başlıklarını değiştirme Çoğu insan için, önbelleğe alınabilir önbelleğe almanın yolu, web Host/sunucunuzdaki .htaccess adlı bir dosyaya bazı kodlar eklemektir.

Bu, web yöneticinizdeki dosya yöneticisine (veya nereye dosya ekleyip yükleyeceğinize gideceğiniz) gitmek anlamına gelir.

.Htaccess dosyası siteniz için birçok önemli şeyi kontrol eder. .Htaccess dosyasına aşina değilseniz, lütfen onu değiştirmeden önce bazılarını öğrenmek için .htaccess makalesini okuyun.

Aşağıdaki kod tarayıcılara ne önbelleğe alacağını ve ne kadar süre "hatırlayacağını" söyler. .Htaccess dosyanızın üstüne eklenmelidir.

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

.Htaccess dosyasını kaydedin ve web sayfanızı yenileyin.

Kaynak:
https://varvy.com/pagespeed/leverage-browser-caching.html

0
Nomib Nomib