Cache-Control

Cache-Control

En informatique, le Cache-Control est un en-tête du protocole HTTP concernant la mémoire cache. En effet la plupart des navigateurs web utilisent un espace réservé sur le disque dur pour enregistrer une copie des pages qui sont visitées (souvent). Ainsi quand l'utilisateur demande une page, le navigateur affiche parfois simplement la copie qu'il avait, pour gagner du temps. Le bouton recharger (actualiser, rafraîchir) des navigateurs permet de la mettre à jour.

Sommaire

HTTP/1.0

À ce niveau du protocole, il ne permet qu'un contrôle du cache rudimentaire.

Pragma: no-cache

Permet au navigateur d'indiquer au cache de récupérer le document auprès du serveur d'origine plutôt que de lui renvoyer celui qu'il conserve.

HTTP/1.1

À ce niveau du protocole, l'en-tête Cache-Control offre plus de possibilités. Le navigateur ou le serveur peuvent donner des directives à un cache.

L'en-tête Cache-Control a pour valeur une liste de directives, séparées par des virgules. La spécification HTTP/1.1 dans RFC 2616 définit plusieurs valeurs pour l'en-tête Cache-Control. Certaines sont très peu utilisées.

public

La réponse HTTP peut être mise en cache par n'importe quel cache. Un client ou un serveur proxy peuvent mettre en cache par exemple la réponse. Cela permet le partage de contenu à travers les utilisateurs qui utilisent le même serveur proxy.

Par exemple, si un document est renvoyé après authentification de l'utilisateur par le serveur et que cette authentification n'est destinée qu'à faire des statistiques et non un contrôle d'accès, le document peut être considéré comme public.

private

Le message de réponse est destiné à un client unique et ne doit pas être mis en cache par un cache partagé. Un serveur proxy ne doit pas mettre en cache la réponse bien qu'un client puisse le faire. Cela permet au client de tenir à jour une version mise en mémoire cache pendant que tous les clients qui utilisent le même serveur proxy conservent les versions différentes mises en mémoire cache.

no-cache

Aucun cache dans l'intégralité de chemin d'accès ne doit maintenir une copie mise en cache de la réponse. Cela vous permet de spécifier que la requête suivante pour le même contenu sera obligatoirement renvoyée par le serveur et non par un proxy ou le cache du navigateur.

no-store

Empêche le stockage non volatil (par exemple : sur disque) de la donnée.

no-transform

La directive no-transform indique au cache qu'il ne doit pas transformer le corps du message qu'il reçoit.

En effet, lorsque le cache a derrière lui une ligne à faible débit, il peut être intéressant de compresser toutes les réponses qu'il envoie (Content-Encoding: gzip). La directive no-transform interdit ce genre d'initiative.

max-age

Cette directive permet à un serveur de fixer la durée maximale de rétention. Lorsqu'elle est utilisée par un client, elle indique au(x) cache(s) la fraîcheur minimale souhaitée. Les durées sont indiquées en secondes.

Cache-Control: max-age=600

Lorsque cette directive est présente dans la requête d'un client, le cache doit renvoyer un document qui a été produit il y a au plus 10 minutes (en-tête Date). Si le cache possède une réponse plus ancienne, il est censé contacter le serveur d'origine pour obtenir une version plus récente (s'il ne le fait pas, le cache doit obligatoirement inclure un avertissement dans la réponse). Si cette directive apparaît dans la réponse d'un serveur, elle autorise le(s) cache(s) à servir cette même réponse pendant 10 minutes maximum.

Dans une réponse, la directive max-age outrepasse l'en-tête Expires.

max-stale

La directive max-stale permet à un client d'autoriser le(s) cache(s) à renvoyer une réponse périmée, tout en fixant une limite à cette péremption.

Par exemple, un client peut accepter une réponse périmée depuis une heure maximum :

   Cache-Control: max-stale=3600

Si le cache possède une réponse dont la fraîcheur dépasse les limites fixées par le serveur, il pourra quand même la servir. A condition qu'elle soit périmée depuis moins d'une heure. Sinon, il contacte le serveur d'origine pour obtenir une réponse de fraîcheur convenable.

A la limite, indiquer une durée maximale de péremption nulle ne sert à rien.

   Cache-Control: max-stale=0

Car cela revient à autoriser les réponses périmée, mais seulement si elle le sont depuis moins de zéro seconde ! Aucune réponse ne peut correspondre à ce critère, donc tout se passera exactement comme si le client n'avait rien précisé dans sa requête.

min-fresh

La directive min-fresh permet à un client d'exiger une réponse fraîche qui sera valable pendant toute la valeur indiquée.

Par exemple, un client peut exiger une réponse fraîche qui sera valable pendant au moins 20 secondes :

   Cache-Control: min-fresh=20

min-vers

must-revalidate

Force une reconnexion au serveur avec un If-Modified-Since et doit provoquer une erreur 505 si la page a disparu.

proxy-revalidate

only-if-cached

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Cache-Control de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Caché web — Saltar a navegación, búsqueda Se llama caché web a la caché que almacena documentos web (es decir, páginas, imágenes, etcétera) para reducir el ancho de banda consumido, la carga de los servidores y el retardo en la descarga. Un caché web… …   Wikipedia Español

  • Cache D'instructions — Mémoire cache Pour les articles homonymes, voir Mémoire cache (homonymie). Une mémoire cache ou antémémoire est, en informatique, une mémoire relativement petite et rapide qui stocke les informations les plus utilisées d une autre mémoire plus… …   Wikipédia en Français

  • Cache d'instructions — Mémoire cache Pour les articles homonymes, voir Mémoire cache (homonymie). Une mémoire cache ou antémémoire est, en informatique, une mémoire relativement petite et rapide qui stocke les informations les plus utilisées d une autre mémoire plus… …   Wikipédia en Français

  • Cache web — La mise en cache de document Web (ex : page HTML, images) est utilisée afin de réduire la consommation de bande passante, la charge serveur ou améliorer la rapidité de consultation. Un cache Web conserve des copies de documents transitant… …   Wikipédia en Français

  • Cache pollution — describes situations where an executing computer program loads data into CPU cache unnecessarily, thus causing other needed data to be evicted from the cache into lower levels of the memory hierarchy, potentially all the way down to main memory,… …   Wikipedia

  • Mémoire cache d'internet — Cache Control En informatique, le Cache Control est un en tête du protocole HTTP concernant la mémoire cache. En effet la plupart des navigateurs web utilisent un espace réservé sur le disque dur pour enregistrer une copie des pages qui sont… …   Wikipédia en Français

  • Cache Creek (Sacramento River) — Coordinates: 38°41′24″N 121°41′30″W / 38.69°N 121.69167°W / 38.69; 121.69167 …   Wikipedia

  • Cache Creek (Yolo County, California) — Geobox|River name = Cache Creek native name = other name = Rivière la Cache category = stream etymology = nickname = image caption = Cache Creek, Lake County section, California country = United States state = California region = Yolo County… …   Wikipedia

  • Cache — This article is about the computer science optimization concept. For other uses, see Cache (disambiguation). In computer engineering, a cache (  /ˈk …   Wikipedia

  • Cache River (Illinois) — A significant portion of the Cache River wetlands are protected by the US Fish and Wildlife Service. Cypress Creek National Wildlife Refuge, established in 1990, covers 14,000 acres (57 km²) of aquatic and riparian habitat, and is eventually… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”