Aller au contenu principal

4.9.1. Freshness (Fraîcheur)

4.9.1. Freshness (Fraîcheur)​

La fraîcheur d'une réponse mise en cache détermine si elle peut être utilisée pour satisfaire une requête sans contacter le serveur d'origine. La fraîcheur est contrôlée par le champ d'en-tête Cache-Control et les mécanismes associés.

Les applications DEVRAIENT (SHOULD) spécifier des informations de fraîcheur pour les réponses pouvant être mises en cache. Cela peut être fait en utilisant:

  • Cache-Control: max-age=N pour indiquer que la réponse peut être mise en cache pendant N secondes.

  • Cache-Control: s-maxage=N pour fournir une durée de fraîcheur différente pour les caches partagés.

  • Le champ d'en-tête Expires pour spécifier un temps d'expiration absolu (bien que Cache-Control soit préféré).

Par exemple:

Cache-Control: max-age=3600

indique que la réponse peut être mise en cache jusqu'à une heure.

Les applications DEVRAIENT (SHOULD) choisir soigneusement les durées de fraîcheur, en équilibrant:

  • Le besoin de performance (des durées plus longues réduisent les requêtes).

  • Le besoin de fraîcheur (des durées plus courtes garantissent que les clients voient les mises à jour plus tôt).

  • Les caractéristiques de la ressource (à quelle fréquence elle change).