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).