Aller au contenu principal

RFC 9111 - HTTP Caching (Mise en cache HTTP)

Date de publication : Juin 2022
Statut : Norme Internet (STD 98)
Auteurs : R. Fielding (Ed., Adobe), M. Nottingham (Ed., Fastly), J. Reschke (Ed., greenbytes)
Obsolète : RFC 7234


Résumé (Abstract)

Le protocole de transfert hypertexte (Hypertext Transfer Protocol, HTTP) est un protocole sans état au niveau de la couche application pour les systèmes d'information hypertexte distribués et collaboratifs. Ce document définit les caches HTTP et les champs d'en-tête associés qui contrôlent le comportement du cache ou indiquent les messages de réponse pouvant être mis en cache.

Ce document rend obsolète le RFC 7234.


Table des matières (Table of Contents)

  • 1. Introduction

    • 1.1 Requirements Notation (Notation des exigences)
    • 1.2 Syntax Notation (Notation syntaxique)
      • 1.2.1 Imported Rules (Règles importées)
      • 1.2.2 Delta Seconds (Secondes delta)
  • 2. Overview of Cache Operation (Aperçu du fonctionnement du cache)

  • 3. Storing Responses in Caches (Stockage des réponses dans les caches)

    • 3.1 Storing Header and Trailer Fields (Stockage des champs d'en-tête et de fin)
    • 3.2 Updating Stored Header Fields (Mise à jour des champs d'en-tête stockés)
    • 3.3 Storing Incomplete Responses (Stockage des réponses incomplètes)
    • 3.4 Combining Partial Content (Combinaison de contenu partiel)
    • 3.5 Storing Responses to Authenticated Requests (Stockage des réponses aux requêtes authentifiées)
  • 4. Constructing Responses from Caches (Construction de réponses à partir des caches)

    • 4.1 Calculating Cache Keys with the Vary Header Field (Calcul des clés de cache avec le champ d'en-tête Vary)
    • 4.2 Freshness (Fraîcheur)
      • 4.2.1 Calculating Freshness Lifetime (Calcul de la durée de vie de fraîcheur)
      • 4.2.2 Calculating Heuristic Freshness (Calcul de la fraîcheur heuristique)
      • 4.2.3 Calculating Age (Calcul de l'âge)
      • 4.2.4 Serving Stale Responses (Fourniture de réponses périmées)
    • 4.3 Validation
      • 4.3.1 Sending a Validation Request (Envoi d'une requête de validation)
      • 4.3.2 Handling a Received Validation Request (Traitement d'une requête de validation reçue)
      • 4.3.3 Handling a Validation Response (Traitement d'une réponse de validation)
      • 4.3.4 Freshening Stored Responses upon Validation (Rafraîchissement des réponses stockées lors de la validation)
      • 4.3.5 Freshening Responses with HEAD (Rafraîchissement des réponses avec HEAD)
    • 4.4 Invalidating Stored Responses (Invalidation des réponses stockées)
  • 5. Field Definitions (Définitions des champs)

    • 5.1 Age
    • 5.2 Cache-Control
      • 5.2.1 Request Directives (Directives de requête)
      • 5.2.2 Response Directives (Directives de réponse)
      • 5.2.3 Extension Directives (Directives d'extension)
      • 5.2.4 Cache Directive Registry (Registre des directives de cache)
    • 5.3 Expires
    • 5.4 Pragma
    • 5.5 Warning
  • 6. Relationship to Applications and Other Caches (Relation avec les applications et autres caches)

  • 7. Security Considerations (Considérations de sécurité)

    • 7.1 Cache Poisoning (Empoisonnement du cache)
    • 7.2 Timing Attacks (Attaques temporelles)
    • 7.3 Caching of Sensitive Information (Mise en cache d'informations sensibles)
  • 8. IANA Considerations (Considérations IANA)

    • 8.1 Field Name Registration (Enregistrement des noms de champs)
    • 8.2 Cache Directive Registration (Enregistrement des directives de cache)
    • 8.3 Warn Code Registry (Registre des codes d'avertissement)
  • 9. References (Références)

    • 9.1 Normative References (Références normatives)
    • 9.2 Informative References (Références informatives)

Annexes (Appendices)


Ressources associées


Concept clé : La mise en cache HTTP améliore considérablement les performances en stockant et en réutilisant les réponses précédentes, réduisant ainsi la latence et la charge réseau, améliorant l'expérience utilisateur et réduisant la charge du serveur.