Champs d'en-tête généraux

10 min Niveau 8

Les champs d'en-tête HTTP fournissent des informations obligatoires sur la demande ou la réponse, ou sur l'objet envoyé dans le corps du message. Il existe quatre types d'en-têtes de message HTTP :

  • General-header (en-tête général) : Ces champs d'en-tête ont une applicabilité générale pour les messages de demande et de réponse.
  • En-tête de demande du client : Ces champs d'en-tête ne s'appliquent qu'aux messages de demande.
  • En-tête de réponse du serveur : Ces champs d'en-tête ne s'appliquent qu'aux messages de réponse.
  • Entity-header (en-tête d'entité) : Ces champs d'en-tête définissent des méta-informations sur le corps de l'entité ou, si aucun corps n'est présent, sur la ressource identifiée par la demande.

Cache-Control

Le champ Cache-Control general-header est utilisé pour spécifier les directives qui DOIVENT être respectées par tous les systèmes de mise en cache. La syntaxe est la suivante :

Cache-Control : cache-request-directive|cache-response-directive

Un client ou un serveur HTTP peut utiliser l'en-tête général Cache-control pour spécifier des paramètres pour le cache ou pour demander certains types de documents au cache. Les directives de mise en cache sont spécifiées dans une liste séparée par des virgules. Par exemple :

Cache-control: no-cache

Le tableau suivant énumère les principales directives de demande de cache qui peuvent être utilisées par le client dans sa demande HTTP :

  • no-cache - Un cache ne doit pas utiliser la réponse pour satisfaire une demande ultérieure sans revalidation réussie auprès du serveur d'origine.
  • no-store - Le cache ne doit rien stocker concernant la demande du client ou la réponse du serveur.
  • max-age = secondes - Indique que le client est prêt à accepter une réponse dont l'âge n'est pas supérieur à la durée spécifiée en secondes.
  • max-stale [ = secondes] - Indique que le client est disposé à accepter une réponse qui a dépassé son délai d'expiration. Si des secondes sont données, le délai d'expiration ne doit pas être supérieur à ce temps.
  • min-fresh = secondes - 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.
  • no-transform - Ne convertit pas le corps de l'entité.
  • only-if-cached - Ne récupère pas de nouvelles données. Le cache peut envoyer un document seulement s'il est dans le cache, et ne doit pas contacter le serveur d'origine pour voir si une copie plus récente existe.

Les directives de réponse de cache suivantes sont importantes et peuvent être utilisées par le serveur dans sa réponse HTTP :

  • public - Indique que la réponse peut être mise en cache par n'importe quel cache.
  • privé - Indique que tout ou partie du message de réponse est destiné à un seul utilisateur et ne doit pas être mis en cache par un cache partagé.
  • no-cache - Un cache ne doit pas utiliser la réponse pour satisfaire une demande ultérieure sans une nouvelle validation réussie auprès du serveur d'origine.
  • no-store - Le cache ne doit rien stocker concernant la demande du client ou la réponse du serveur.
  • no-transform - Ne convertit pas le corps de l'entité.
  • must-revalidate - Le cache doit vérifier l'état des documents périmés avant de les utiliser et les documents expirés ne doivent pas être utilisés.
  • proxy-revalidate - La directive proxy-revalidate a la même signification que la directive must-revalidate, sauf qu'elle ne s'applique pas aux caches d'agents utilisateurs non partagés.
  • max-age = secondes - Indique que le client est prêt à accepter une réponse dont l'âge n'est pas supérieur à la durée spécifiée en secondes.
  • s-maxage = secondes - L'âge maximum spécifié par cette directive remplace l'âge maximum spécifié par la directive max-age ou l'en-tête Expires. La directive s-maxage est toujours ignorée par un cache privé.

Connexion

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus