HTTP - Önbelleğe alma
HTTP tipik olarak, performansın yanıt önbellekleri kullanılarak iyileştirilebildiği dağıtılmış bilgi sistemleri için kullanılır. HTTP / 1.1 protokolü, önbelleğe almayı çalıştırmayı amaçlayan bir dizi öğe içerir.
HTTP / 1.1'de önbelleğe almanın amacı, birçok durumda istek gönderme ihtiyacını ortadan kaldırmak ve diğer birçok durumda tam yanıt gönderme ihtiyacını ortadan kaldırmaktır.
HTTP / 1.1'deki temel önbellek mekanizmaları, sunucunun sona erme sürelerini ve doğrulayıcıları belirlediği önbelleklere yönelik örtük yönergelerdir. KullanıyoruzCache-Control bu amaç için başlık.
Cache-Controlüstbilgi, bir istemcinin veya sunucunun isteklerde veya yanıtlarda çeşitli yönergeleri iletmesine izin verir. Bu yönergeler genellikle varsayılan önbelleğe alma algoritmalarını geçersiz kılar. Önbelleğe alma yönergeleri virgülle ayrılmış bir listede belirtilir. Örneğin:
Cache-control: no-cache
Aşağıdaki önbellek isteği yönergeleri istemci tarafından HTTP isteğinde kullanılabilir:
SN | Önbellek Talebi Yönergesi ve Açıklaması |
---|---|
1 | no-cache Önbellek, kaynak sunucuyla başarılı bir şekilde yeniden doğrulama yapılmadan sonraki bir isteği karşılamak için yanıtı kullanmamalıdır. |
2 | no-store Önbellek, istemci isteği veya sunucu yanıtı hakkında hiçbir şey saklamamalıdır. |
3 | max-age = seconds Hastanın yaşı saniye cinsinden belirtilen süreden daha büyük olmayan bir yanıtı kabul etmeye istekli olduğunu gösterir. |
4 | max-stale [ = seconds ] Müşterinin, son kullanma süresini aşan bir yanıtı kabul etmeye istekli olduğunu gösterir. Saniyeler verilirse, bu süreden fazla zaman aşımına uğramamalıdır. |
5 | min-fresh = seconds Müşterinin, tazelik ömrü şu anki yaşı artı saniye cinsinden belirtilen süreden daha az olmayan bir yanıtı kabul etmeye istekli olduğunu gösterir. |
6 | no-transform Varlık gövdesini dönüştürmez. |
7 | only-if-cached Yeni verileri almaz. Önbellek bir belgeyi yalnızca önbellekteyse gönderebilir ve daha yeni bir kopyanın var olup olmadığını görmek için kaynak sunucuyla iletişime geçmemelidir. |
Aşağıdaki önbellek yanıtı yönergeleri sunucu tarafından HTTP yanıtında kullanılabilir:
SN | Önbellek Yanıt Yönergesi ve Açıklaması |
---|---|
1 | public Yanıtın herhangi bir önbellek tarafından önbelleğe alınabileceğini gösterir. |
2 | private Yanıt mesajının tamamının veya bir kısmının tek bir kullanıcıya yönelik olduğunu ve paylaşılan bir önbellek tarafından önbelleğe alınmaması gerektiğini belirtir. |
3 | no-cache Önbellek, başlangıç sunucusuyla başarılı bir yeniden doğrulama yapılmadan sonraki bir isteği karşılamak için yanıtı kullanmamalıdır. |
4 | no-store Önbellek, istemci isteği veya sunucu yanıtı hakkında hiçbir şey saklamamalıdır. |
5 | no-transform Varlık gövdesini dönüştürmez. |
6 | must-revalidate Önbellek, kullanmadan önce eski belgelerin durumunu doğrulamalı ve süresi dolmuş belgeler kullanılmamalıdır. |
7 | proxy-revalidate Proxy-revalidate yönergesi must-revalidate yönergesi ile aynı anlama sahiptir, ancak paylaşılmayan kullanıcı aracı önbellekleri için geçerli değildir. |
8 | max-age = seconds Hastanın yaşı saniye cinsinden belirtilen süreden daha büyük olmayan bir yanıtı kabul etmeye istekli olduğunu gösterir. |
9 | s-maxage = seconds Bu direktif tarafından belirtilen maksimum yaş, max-age direktifi veya Expires başlığı tarafından belirtilen maksimum yaşı geçersiz kılar. S-maxage yönergesi her zaman özel bir önbellek tarafından göz ardı edilir. |