Ressources · 63
Cache HTTP : protéger les réponses personnalisées
Distinguer cache partagé, cache privé et cache applicatif, contrôler les clés, la revalidation et l’invalidation après un changement de droits.
· 3 min
Ce que ce guide permet
- Inventorier les couches
- Choisir la conservation
- Examiner la clé
- Exercer revalidation et changement
Contrôle express
- no-cache signifie-t-il ne rien conserver ?
- Vary protège-t-il les droits d’accès ?
- Faut-il toujours cacher une API ?
Méthode pas à pas
- 01
Inventorier les couches
Listez navigateur, CDN, proxy, service worker et cache applicatif. Classez les réponses publiques et personnalisées. Une politique HTTP ne décrit pas automatiquement le comportement d’un cache géré dans le code.
Livrable : diagramme des couches et propriétaires.
- 02
Choisir la conservation
RFC 9111 distingue les directives : no-cache impose une validation avant réemploi, no-store interdit la conservation HTTP concernée et private non qualifié exclut le stockage partagé. Aucune de ces directives ne garantit seule la confidentialité du système.
Livrable : politique de conservation par réponse.
- 03
Examiner la clé
Vérifiez méthode, URI et dimensions qui changent la représentation. Vary concerne des champs de requête ; ce mécanisme n’est pas une autorisation. Recherchez langues, négociation de format et contexte de compte oubliés dans les couches applicatives.
Livrable : clés et tests de séparation.
- 04
Exercer revalidation et changement
Testez réponse fraîche, périmée, modification de donnée et retrait de droit. Examinez ETag, validation conditionnelle et comportement si l’origine est indisponible. Une ancienne réponse correcte peut devenir sensible après révocation.
Livrable : traces avant et après changement.
- 05
Rejouer avec deux comptes
Utilisez des identités et marqueurs fictifs. Alternez les demandes sur la même URI, avec caches chauds et froids. Vérifiez aussi déconnexion, liens directs et journalisation, sans consigner de jetons réels.
Livrable : tests négatifs et stratégie d’invalidation.
Fiche de travail à réutiliser
À compléter avec vos observations autorisées. Ces champs constituent une trame de travail, pas des résultats observés.
| Champ | Information à consigner |
|---|---|
| Réponse | Publique ou personnalisée ; dimensions |
| Couche | Cache, propriétaire et clé |
| Politique | Conservation, fraîcheur et revalidation |
| Essai | Compte fictif, changement et observé |
Exemple d’application
Situation illustrative
Exemple fictif : un CDN réutilise une réponse de profil sur la même URI pour deux comptes de test.
Décision et preuve attendue
Le scénario détecte la fuite, examine la politique et les clés, puis rejoue après correction et retrait de droit.
Distinguer les mécanismes
| Mécanisme | Utilité | Point de vigilance |
|---|---|---|
| no-cache | Autoriser stockage avec validation requise | Ne pas le lire comme absence de stockage |
| private non qualifié | Exclure le cache partagé | Ne pas le lire comme une garantie de confidentialité |
| no-store | Empêcher la conservation HTTP concernée | Vérifier séparément caches applicatifs et historiques |
Indicateurs de pilotage
| Indicateur | Ce qu’il mesure | Première action |
|---|---|---|
| Séparation entre comptes | Absence de marqueur d’un autre compte | Inspecter corps, liens et métadonnées |
| Âge et revalidation | Réemploi conforme à la politique | Tester expiration et origine indisponible |
| Délai d’invalidation | Temps jusqu’à représentation corrigée | Nommer chaque couche encore périmée |
Erreurs fréquentes
- Ne pas le lire comme absence de stockage
- Ne pas le lire comme une garantie de confidentialité
- Vérifier séparément caches applicatifs et historiques
Questions fréquentes
no-cache signifie-t-il ne rien conserver ?
Non. La directive demande une validation avant réutilisation ; elle n’interdit pas le stockage comme no-store.
Vary protège-t-il les droits d’accès ?
Non. Il participe à la sélection de représentation ; l’autorisation reste une décision distincte.
Faut-il toujours cacher une API ?
Non. Le bénéfice dépend du coût, de la fraîcheur et du risque. Une réponse sensible peut justifier l’absence de cache partagé.
Références officielles
Références consultées le 2 octobre 2026. La méthode et la fiche de travail proposent des contrôles à adapter à votre contexte ; elles ne constituent pas une certification.






