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 headerETag
), - lors d'une seconde requête le client envoie dans la demande le
etag
précédemment reçu (via le headerIf-None-Match
), - en réponse à la seconde requête le serveur recalcul le
etag
et le compare avec le headerIf-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.
- si le résultat est positif, la ressource n'a pas été modifiée alors le retour est un status
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
.