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
etagprécédemment reçu (via le headerIf-None-Match), - en réponse à la seconde requête le serveur recalcul le
etaget le compare avec le headerIf-None-Matchreçu :- si le résultat est positif, la ressource n'a pas été modifiée alors le retour est un status
304 Not Modifiedet 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.