|
|
Yayınlandı 7.09.2015 19:30:51
|
|
|
|

HTTP başlığı Süresi Doldu ve Önbellek kontrolü
1. Kavram
Önbellek kontrolü, HTTP önbelleklemesini kontrol etmek için kullanılır (HTTP/1.0'da kısmen uygulanmayabilir, sadece Pragma: önbellekleme yok uygulanır)
Paketteki biçim:
Cache-Control: cache-directive
Önbellek direktifi şu olabilir:
İstek: | "önbellek yok" | "Mağaza yok" | "max-age" "=" delta-saniye | "max-stale" [ "=" delta-saniye ] | "min-fresh" "=" delta-saniye | "dönüşümsüz" | "sadece önbelleklenmiş olursa" | "önbellek-uzantısı"
Yanıt: | "kamu" | "özel" [ "=" <"> alan adı <"> ] | "no-cache" [ "=" <"> alan adı <"> ] | "Mağaza yok" | "dönüşümsüz" | "Yeniden Doğrulama Şartı" | "proxy-revalidate" | "max-age" "=" delta-saniye | "s-maxage" "=" delta-saniye | "önbellek-uzantısı"
Açıklamanın bir kısmı: Önbelleğe açılabilir ya da olmayan olarak bölünmüş Public, yanıtın herhangi bir önbellek alanı tarafından önbelleğe alınabileceğini belirtir. Özel, tek bir kullanıcının yanıt mesajının tamamının veya bir kısmının paylaşılan önbellek tarafından işlenemeyeceğini gösterir. Bu, sunucunun yalnızca kullanıcı Kısmi yanıt mesajı, diğer kullanıcılardan gelen talepler için geçerli değildir. no-cache, istek veya yanıt mesajının önbelleğe alınamayacağını gösterir (HTTP/1.0, Pragma'nın no-cache ile değiştirilir) Önbelleklenebilir olanlara göre No-store, önemli bilgilerin istemeden yayımlanmasını önlemek için kullanılır. Bir istek mesajı göndermek, istek ve yanıt mesajlarının önbelleğe girmemesini sağlar. Önbelleğe göre zaman aşımı max-age, istemcinin ömrü belirli bir süreden (saniyeler) büyük olmayan bir yanıt alabileceğini gösterir. Min-fresh, istemcinin mevcut süreden daha az yanıt süresi ile belirlenen süreden daha az bir yanıt alabileceğini gösterir. max-stale, istemcinin zaman aşım süresi ötesinde yanıt mesajlarını alabileceğini gösterir. Max-stale mesajı için bir değer belirlerseniz, istemci Fazla mesai süresinin belirtilen değerini aşan yanıt mesajları alın. Süresi dolma, varoluş süresini temsil eder; bu da istemcinin bu saatten önce kontrol etmemesini (isteği vermemesini) sağlar; bu da maksimum yaşla eşdeğerdir Etkisi. Ama aynı anda varsa, Cache-Control'ün maksimum yaşı tarafından üzerine yazılırlar. Biçim: Süresi doldu = "Süresi doldu" ":" HTTP-tarih Örneğin
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Uygulama Süresi döndürme ve önbellek kontrolü META üzerinden HTTP üzerinden <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Süresi doldu" content="Pzt, 20 Tem 2009 23:00:00 GMT" /> Yukarıdaki ayarlar sadece örneklerdir ve aslında bunlardan birini kullanabilirsiniz. Böyle yazarsanız, sadece web sayfası için geçerlidir, görseller veya web sayfasındaki diğer talepler için geçerli değildir ve önbellek yapmaz. Bu şekilde, istemci daha fazla isteğe sahip olur ve bu sadece Son Değiştirilme durumunu kontrol eden bir şey olsa da, istek sayısı kesinlikle gezinme hızını etkiler. Bir dosyaya önbellek eklemek istiyorsanız, Apache'nin mod_expire modülünü kullanabilirsiniz; modül şu şekilde yazılır <IfModule mod_expires.c> ExpiresActive On Süresi dolduVarsayılan "erişim artı 1 gün" </IfModule> ExpiresActive'in Açık olduğunu hatırlıyorum, başta açmamıştım ve YSlow ne kadar olursa olsun önbellek mekanizmasını bulamıyorum gibi görünüyor. Böyle eklerseniz, her şeye varsayılan olarak geçer. Bireysel MIME türlerini hedeflemek istiyorsanız: ExpiresByType görsel/gif "erişim artı 5 saat 3 dakika" Bkz. Apache Modül mod_expires Ayrıca, tarayıcıda Yenile'ye tıkladığınızda, istemci tarafından gönderilen tüm istekler max-age=0 olur, bu da isteğin doğrulanıp sunucuya gönderildiğini gösterir Önbelleği kontrol etmek için sorarsanız ve önbelleği güncellemenizi isterseniz, genellikle 304 Değiştirilmemiş (Değiştirilmemiş) alırsınız, yani herhangi bir değişiklik yoktur.
|
Önceki:Yarı zamanlı işler bul ve ekstra para kazan Mükemmel tedavi, nakit ödeme, günde 300'den fazla para ile yarı zamanlı çalışanlar işe alınÖnümüzdeki:Linq'den SQL'e bulanık sorgu gibi
|