Yanıtlar:
html5boilerplate.com , dikkate almanız gereken birçok standart ayar içeren iyi yorumlanmış bir .htaccess dosyası içerir . Bunların arasında içeriğin süresi dolmak için makul ayarlar bulunur (Son kullanma tarihi, E-etiketler, ...).
İşte mod_expires ile ilgili belgeler .
Last-Modified
Üstbilgilerin zayıf önbellek üstbilgileri olduğunu unutmayın . Geçerli tercih, Cache-Control
üstbilgileri kullanmaktır .
Google'ın bu konuda iyi bir makalesi var.
Son kullanma tarihi ve Önbellek Kontrolü: maks. Yaş. Bunlar, bir kaynağın "tazelik ömrünü", yani tarayıcının web sunucusundan yeni bir sürümün olup olmadığını kontrol etmeden önbelleğe alınmış kaynağı kullanabileceği süreyi belirtir. Bunlar, koşulsuz olarak uygulanan "güçlü önbellek üstbilgileri" dir; yani, ayarlandıktan ve kaynak indirildikten sonra, tarayıcı, son kullanma tarihine veya maksimum yaşa ulaşılana kadar kaynak için herhangi bir GET isteği göndermez.
Son Değiştirme ve ETag. Bunlar, tarayıcının dosyaların aynı olup olmadığını belirlemek için kontrol ettiği kaynakla ilgili bazı özellikleri belirtir. Son Değiştirilen başlığında, bu her zaman bir tarihtir. ETag başlığında, bu bir kaynağı benzersiz şekilde tanımlayan herhangi bir değer olabilir (dosya sürümleri veya içerik karmaları tipiktir). Last-Modified, tarayıcının öğeyi önbellekten alıp almamayı belirlemek için bir sezgisel tarama uyguladığı için "zayıf" bir önbellek başlığıdır. (Buluşsal yöntemler farklı tarayıcılar arasında farklıdır.) Ancak, bu üstbilgiler, kullanıcı sayfayı açıkça yeniden yüklediğinde koşullu GET istekleri vererek tarayıcının önbelleğe alınmış kaynaklarını verimli bir şekilde güncellemesine olanak tanır. Koşullu GET'ler, kaynak sunucuda değişmedikçe tam yanıtı döndürmez ve bu nedenle de tam GET'lerden daha düşük gecikme süresine sahiptir.
Ben kullanarak ya tavsiye Cache-Control
veya Expires
onlar güçlü önbellek başlık olduğu beri gerektiği gibi başlıkları. Bazı sistemler Son Değiştirilme tarihlerini yok sayar.
Daha sonra başlıkları kontrol etmek için curl
veya http://redbot.org gibi bir araç kullanabilirsiniz .
Last-Modified
, diğer önbellek yönergelerinin yokluğunda üstbilgilerin kullanılması önbellek dönemini HTTP istemcisine bırakır. Bir kaynak tarihten bu yana değiştirilmemişse Last-Modified
, kaynak yeni kabul edilmelidir. Buna karşılık, bir Expires
veya Cache-Control
üstbilgi kullanılırken orijin açık bir tazelik süresi ayarlayabilir.
Expires
süresi dolmayan kaynaklar için tamamen uygun olmayan bir başlıktır. Bazı kaynaklar değiştirilebilir, ancak bazı son kullanma tarihlerinde değiştirilemez. Google'ın amacı,Last-Modified
koşullu bir GET gerektirirkenExpires
tarayıcı önbelleğinin GET'i tamamen atlamasına izin verir.