17.4 Cache

L'API inclut un système de cache par etag.

17.4.1 Principe de fonctionnement

Les etag sont une partie du standard HTTP 1.1 et permettent de ne pas recalculer les ressources systématiquement.

Le fonctionnement est le suivant :

  • Lors de la première requête le serveur envoie en plus des données un identifiant etag (via le header ETag),
  • lors d'une seconde requête le client envoie dans la demande le etag précédemment reçu (via le header If-None-Match),
  • en réponse à la seconde requête le serveur recalcul le etag et le compare avec le header If-None-Match reçu :
    • si le résultat est positif, la ressource n'a pas été modifiée alors le retour est un status 304 Not Modified et la ressource n'est pas renvoyée,
    • si le résultat est négatif, la ressource est retournée comme dans le cas de la première requête.

Le cache n'est bien évidemment actif que pour les ressources accédées via la méthode GET.

Le cache fait partie du standard HTTP et est implémenté en standard (sans modification à apporter) sur les principaux navigateurs.

17.4.2 Désactivation du cache

Vous pouvez désactiver le cache :

  • globalement en modifiant le paramètre applicatif ACTIVATE_CACHE à false,
  • pour une requête en ajoutant le header Cache-Control: no-cache.
×