1. Introduction
HTTP est généralement utilisé pour les systèmes d'information distribués, où les performances peuvent être améliorées par l'utilisation de caches de réponse. Ce document définit les aspects de HTTP/1.1 liés à la mise en cache et à la réutilisation des messages de réponse.
Un cache HTTP (HTTP Cache) est un stockage local de messages de réponse et le sous-système qui contrôle le stockage, la récupération et la suppression des messages qu'il contient. Un cache stocke les réponses pouvant être mises en cache afin de réduire le temps de réponse et la consommation de bande passante réseau pour les futures requêtes équivalentes. Tout client ou serveur PEUT (MAY) utiliser un cache, bien qu'un cache ne puisse pas être utilisé par un serveur agissant comme un tunnel.
Un cache partagé (Shared Cache) est un cache qui stocke des réponses destinées à être réutilisées par plusieurs utilisateurs ; les caches partagés sont généralement (mais pas toujours) déployés dans le cadre d'un intermédiaire. Un cache privé (Private Cache), en revanche, est dédié à un seul utilisateur ; ils sont souvent déployés comme composant d'un agent utilisateur.
L'objectif de la mise en cache dans HTTP/1.1 est d'améliorer considérablement les performances en réutilisant un message de réponse antérieur pour satisfaire une requête actuelle. Une réponse stockée est considérée comme « fraîche » (Fresh), comme défini dans la Section 4.2, si la réponse peut être réutilisée sans « validation » (Validation) (vérification avec le serveur d'origine pour voir si la réponse en cache reste valide pour cette requête). Une réponse fraîche peut donc réduire à la fois la latence et la surcharge réseau chaque fois qu'elle est réutilisée. Lorsqu'une réponse en cache n'est pas fraîche, elle peut encore être réutilisable si elle peut être actualisée par validation (Section 4.3) ou si l'origine n'est pas disponible (Section 4.2.4).