2011-03-16 15 views

cevap

19

Expires üstbilgisini birlikte, ancak diğer ikisinden bağımsız olarak kullanabilirsiniz. Proxy ve tarayıcı önbellekleriyle evrensel olarak desteklenir.

ETag ve Last-Modified pulları arasındaki fark daha semantiktir. ETaglar istemciler için opaktır. Genellikle bir sağlama toplamıdır. Son değiştirilmiş bir üstbilgi, istemciler tarafından yorumlanabilir. Son değiştirilen zaman damgasının doğrusal olarak çalıştığı anlaşılmaktadır. Bir tarayıcı If-Unmodified-Since ile bir kaynak isterse, geçmişte çok çeşitli zaman damgaları bu tür bir koşulla eşleşebilir. Sayfalarınız sık sık değişiyorsa, Son Değiştirme zaman damgası avantajlı olabilir.

ETag yaklaşımı, kaynak başına bir son parmak izi kaydeden istemcilere yol açar. (Tarayıcı önbelleklerinin çoklu ETag'ları hatırlayıp hatırlamadığından emin değilim). İsteklerde, yalnızca bir veya birkaç olası If-None-Match belirteci listelenir. Bu daha fazla özlülük anlamına gelebilir. Ayrıca, birden çok sağlama toplamı karşılaştırmanız gerekir, oysa bir Son Modifiye zaman damgasıyla aritmetik karşılaştırmaya sahip olabilirsiniz.

ETag'ların asıl avantajı parmak izlerini güvenle karşılaştırmanızdır. Son değiştirilen zaman damgaları, gerçek sayfa içeriğinin değişip değişmediğini doğrulamadıkları için biraz daha belirsizdir.

Ayrıca bakınız:

+0

temel olarak mod_expire'ı eTag üzerinden mi kullanmalıyız? – Avinash

+0

Çoğu durumda: evet. – mario

+0

, son değiştirilen üstbilgiyi ne zaman kullanmalıyız? – Avinash

29

Expires ve Cache-Control

Last-Modified ve ETag olan "zayıf önbelleğe alma üst" "güçlü önbelleğe alma üst"

olan

İlk olarak, tarayıcılara bir istekte bulunup bulunmamaya karar vermek için tarayıcı Expires/Cache-Control denetler.

Bir istekte bulunmak zorundaysa, HTTP isteğinde Last-Modified/ETag gönderecektir. Belgenin Etag değeri buna uyuyorsa, sunucu 200 yerine 304 kod ve içerik içermez. Tarayıcı içeriği önbelleğinden yükler.

Zayıf önbellek başlıkları ile birlikte güçlü önbelleğe alma başlıklarından birini kullanmanızı öneririm.

+0

"Güçlü ve zayıf" önbelleğe alma davranışını destekleyen herhangi bir belge buldunuz mu? Bir tane bulamadım, ve şimdiki tarayıcım şimdi son değiştirilmiş modifikasyonları öncelikli olarak önceliklendirir, aslında neden anlamıyorum. – GMsoF

+0

Zayıf ve güçlü doğrulayıcılar [RFC 2616] 'da açıklanmıştır (https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.3.3) bölüm 13.3.3 – user2418306

+1

RFC 2616 "Varlık etiketleri normalde" "güçlü doğrulayıcılar", ancak protokol bir varlık etiketini "zayıf" olarak etiketlemek için bir mekanizma sağlar. – cquezel