Aller au contenu principal

5.2.1 Request Cache-Control Directives

Cette section définit les directives de cache qu'un client peut utiliser dans une requête HTTP.

5.2.1.1. max-age

Argument : delta-seconds

La directive de requête "max-age" indique que le client n'est pas disposé à accepter une réponse dont l'âge est supérieur au nombre de secondes spécifié. À moins que la directive de requête max-stale ne soit également présente, le client n'est pas disposé à accepter une réponse périmée.

Cette directive utilise la forme jeton de la syntaxe d'argument : par exemple, 'max-age=5' et non 'max-age="5"'. Un émetteur NE DEVRAIT PAS (SHOULD NOT) générer la forme de chaîne entre guillemets.

5.2.1.2. max-stale

Argument : delta-seconds

La directive de requête "max-stale" indique que le client est disposé à accepter une réponse qui a dépassé sa durée de vie de fraîcheur. Si une valeur est attribuée à max-stale, alors le client est disposé à accepter une réponse qui a dépassé sa durée de vie de fraîcheur d'au plus le nombre de secondes spécifié. Si aucune valeur n'est attribuée à max-stale, alors le client est disposé à accepter une réponse périmée de n'importe quel âge.

Cette directive utilise la forme jeton de la syntaxe d'argument : par exemple, 'max-stale=10' et non 'max-stale="10"'. Un émetteur NE DEVRAIT PAS (SHOULD NOT) générer la forme de chaîne entre guillemets.

5.2.1.3. min-fresh

Argument : delta-seconds

La directive de requête "min-fresh" indique que le client est disposé à accepter une réponse dont la durée de vie de fraîcheur n'est pas inférieure à son âge actuel plus le temps spécifié en secondes. C'est-à-dire que le client souhaite une réponse qui restera fraîche pendant au moins le nombre de secondes spécifié.

Cette directive utilise la forme jeton de la syntaxe d'argument : par exemple, 'min-fresh=20' et non 'min-fresh="20"'. Un émetteur NE DEVRAIT PAS (SHOULD NOT) générer la forme de chaîne entre guillemets.

5.2.1.4. no-cache

La directive de requête "no-cache" indique qu'un cache NE DOIT PAS (MUST NOT) utiliser une réponse stockée pour satisfaire la requête sans validation réussie sur le serveur d'origine.

5.2.1.5. no-store

La directive de requête "no-store" indique qu'un cache NE DOIT PAS (MUST NOT) stocker une partie quelconque de cette requête ou de toute réponse à celle-ci. Cette directive s'applique aux caches privés et partagés. "NE DOIT PAS stocker" dans ce contexte signifie que le cache NE DOIT PAS (MUST NOT) intentionnellement stocker les informations dans un stockage non volatile, et DOIT (MUST) faire un effort maximal pour supprimer les informations du stockage volatile aussi rapidement que possible après les avoir transmises.

Cette directive N'EST PAS un mécanisme fiable ou suffisant pour garantir la confidentialité. En particulier, les caches malveillants ou compromis peuvent ne pas reconnaître ou obéir à cette directive, et les réseaux de communication peuvent être vulnérables aux écoutes clandestines.

Notez que si une requête contenant cette directive est satisfaite à partir d'un cache, la directive de requête no-store ne s'applique pas à la réponse déjà stockée.

5.2.1.6. no-transform

La directive de requête "no-transform" indique qu'un intermédiaire (qu'il implémente ou non un cache) NE DOIT PAS (MUST NOT) transformer la charge utile, comme défini dans la Section 5.7.2 de [RFC7230].

5.2.1.7. only-if-cached

La directive de requête "only-if-cached" indique que le client souhaite uniquement obtenir une réponse stockée. S'il reçoit cette directive, un cache DEVRAIT (SHOULD) soit répondre en utilisant une réponse stockée qui est cohérente avec les autres contraintes de la requête, soit répondre avec un code d'état 504 (Gateway Timeout). Si un groupe de caches est exploité comme un système unifié avec une bonne connectivité interne, un cache membre PEUT (MAY) transmettre une telle requête au sein de ce groupe de caches.