Aller au contenu principal

5. Header Field Definitions (Définitions des champs d'en-tête)

Cette section définit la syntaxe et la sémantique des champs d'en-tête HTTP liés à la mise en cache.


5.1. Age (Âge)

Le champ d'en-tête "Age" transmet l'estimation de l'émetteur du temps écoulé depuis que la réponse a été générée ou validée avec succès sur le serveur d'origine. Les valeurs Age sont calculées comme spécifié dans la Section 4.2.3.

Age = delta-seconds

La valeur du champ Age est un entier non négatif, représentant le temps en secondes (voir Section 1.2.1).

La présence d'un champ d'en-tête Age implique que la réponse n'a pas été générée ou validée par le serveur d'origine pour cette requête. Cependant, l'absence d'un champ d'en-tête Age n'implique pas que l'origine a été contactée, car la réponse pourrait avoir été reçue d'un cache HTTP/1.0 qui n'implémente pas Age.


5.2. Cache-Control (Contrôle de cache)

Le champ d'en-tête "Cache-Control" est utilisé pour spécifier des directives pour les caches le long de la chaîne de requête/réponse. De telles directives de cache sont unidirectionnelles en ce sens que la présence d'une directive dans une requête n'implique pas que la même directive doive être donnée dans la réponse.

Un cache DOIT (MUST) obéir aux exigences des directives Cache-Control définies dans cette section. Voir Section 5.2.3 pour des informations sur la façon dont les directives Cache-Control définies ailleurs sont traitées.

Remarque : Certains caches HTTP/1.0 peuvent ne pas implémenter Cache-Control.

Un proxy, qu'il implémente ou non un cache, DOIT (MUST) transmettre les directives de cache dans les messages transmis, quelle que soit leur importance pour cette application, car les directives peuvent s'appliquer à tous les destinataires le long de la chaîne de requête/réponse. Il n'est pas possible de cibler une directive vers un cache spécifique.

Les directives de cache sont identifiées par un jeton, à comparer sans tenir compte de la casse, et ont un argument optionnel, qui peut utiliser à la fois la syntaxe de jeton et de chaîne entre guillemets. Pour les directives définies ci-dessous qui définissent des arguments, les destinataires devraient (ought to) accepter les deux formes, même si une forme spécifique est requise pour la génération.

Cache-Control = 1#cache-directive

cache-directive = token [ "=" ( token / quoted-string ) ]

Pour les directives de cache définies ci-dessous, aucun argument n'est défini (ni autorisé) sauf indication contraire.