HTTP önbellekleme, web performansını artırmak için kritik bir mekanizmadır ve RFC 9111 (2022) ile güncel standartları belirlenmiştir. Bu sistem, tarayıcı önbellekleri, proxy'ler ve içerik dağıtım ağları (CDN) gibi istemci ile kaynak sunucu arasındaki tüm aracı önbelleklerin, HTTP yanıtlarını nasıl depolayacağını ve yeniden kullanacağını düzenler. Temel olarak, Cache-Control HTTP başlığı, sunucuların önbelleklere yanıtların ne kadar süreyle saklanabileceği ve ne zaman doğrulanması gerektiği konusunda yönergeler vermesini sağlar. Bu başlık, isteklere veya yanıtlara eklenebilen max-age, s-maxage, must-revalidate gibi çeşitli yönergeler içerir ve hem paylaşılan hem de özel önbellekler için farklı kurallar belirleyebilir.
Önbellekler, bir yanıtın "taze" olup olmadığını belirlemek için yanıtın yaşını, sunucu tarafından belirlenen "tazelik zaman çizelgesi" ile karşılaştırır. Yanıtın yaşı, sunucu tarafından en son oluşturulduğu veya doğrulandığı zamandan bu yana geçen süredir ve aracı önbelleklerden alınan Age başlığını da içerebilir. Tazelik zaman çizelgesi ise genellikle Cache-Control: max-age yönergesiyle sunucu tarafından saniye cinsinden belirtilir. Eğer bu bilgi yoksa, Expires ve Date başlıkları arasındaki fark veya Last-Modified başlığına dayalı sezgisel bir tahmin kullanılabilir. Paylaşılan önbellekler için s-maxage yönergesi diğer tüm tazelik kurallarından önceliklidir.
Bir yanıtın "eski" (stale) hale gelmesi, onun hemen atılması gerektiği anlamına gelmez. Eski bir önbelleğe alınmış yanıt için bir istek geldiğinde, önbellek bu yanıtı kaynak sunucu ile doğrulamalıdır. Bu doğrulama süreci, koşullu HTTP istekleri aracılığıyla yapılır ve If-None-Match veya If-Modified-Since gibi özel önkoşul başlıkları içerir. Eğer sunucuda önbelleğe alınmış yanıtın daha yeni bir sürümü yoksa, sunucu HTTP 304 Not Modified yanıtı döner ve veri transferi gerçekleşmez, bu da tam bir istekten daha hızlıdır. Eğer yeni bir sürüm varsa, sunucu HTTP 200 OK ile güncellenmiş yanıtı gönderir. Bu mekanizma, bant genişliği kullanımını azaltarak ve yükleme sürelerini kısaltarak web performansını önemli ölçüde artırır.
HTTP önbellekleme, web uygulamalarının hızını ve verimliliğini artırarak kullanıcı deneyimini iyileştiren ve sunucu yükünü azaltan temel bir web performansı optimizasyon tekniğidir.