Pourquoi ma distribution CloudFront renvoie-t-elle une réponse « Cache X : absent de CloudFront » ?

Date de la dernière mise à jour : 03/04/2019

J'ai configuré ma distribution CloudFront et l'origine pour mettre en cache des objets, mais ma distribution renvoie une réponse « Cache X : absent de CloudFront ». Quelle en est la cause ? Que faire pour éviter ce type de réponse ?

Résolution

Pour diagnostiquer et résoudre le problème à l’origine de la réponse « Cache X : absent de CloudFront », vérifiez les points suivants :

Quel emplacement périphérique reçoit les demandes ?

Une fois qu'un objet est demandé via Amazon CloudFront, il est uniquement mis en cache dans l'emplacement périphérique qui a reçu la demande. Si une requête ultérieure est effectuée pour un autre emplacement périphérique, l'autre emplacement périphérique ne comporte pas de version mise en cache de l'objet, elle renvoie alors une réponse « Cache X : absent de CloudFront ».

Pour déterminer si la réponse provient d'un ou de plusieurs emplacements périphériques, envoyez plusieurs requêtes à partir du même client pour le même objet. Ensuite, vérifiez les adresses IP avec lesquelles la connexion est établie. Exécutez une résolution DNS inverse sur les adresses IP pour déterminer l’emplacement périphérique vers lequel les demandes sont dirigées.

À quelle fréquence l'objet est-il demandé ?

Si un objet dans un emplacement périphérique n'est pas souvent demandé, CloudFront peut le supprimer avant sa date d'expiration. Pour en savoir plus sur le moment où CloudFront expulse des objets, consultez Gestion de la durée de séjour du contenu dans un cache périphérique (Expiration).

Si vous voyez la réponse « Cache X : absent de CloudFront » par intermittence, il se peut que CloudFront soit en train de supprimer l'objet à cause de demandes peu fréquentes.

La distribution CloudFront est-elle configurée pour transférer des en-têtes, des cookies ou des paramètres de chaîne de requête ?

Si votre distribution est configurée pour transférer des en-têtes, des cookies ou des paramètres de chaîne de requête, la distribution met en cache les demandes en fonction de ces paramètres. Les paramètres réduisent le nombre de demandes fournies à partir du cache.

Par exemple, si deux demandes d'accès à un objet ont des valeurs différentes dans les paramètres de chaîne de requête, la deuxième demande ne sera pas fournie par la mémoire cache. La deuxième demande renvoie la réponse « Cache X : absent de CloudFront ».

Pour déterminer si les en-têtes, cookies ou paramètres de chaîne de requête transmis sont à l'origine de la réponse, configurez la distribution CloudFront afin de ne pas transmettre ces paramètres à l'origine. Ensuite, vérifiez si le problème persiste.

Si le problème est résolu après que les paramètres ne soient plus transmis par ces paramètres, au moins un paramètre a déclenché la réponse. Envisagez de ne mettre sur liste blanche que les paramètres spécifiques que vous voulez que CloudFront transfère à l'origine, plutôt que de configurer CloudFront pour transférer un large éventail de paramètres.

La réponse est-elle stockée dans le cache du navigateur ?

Une fois qu'une demande donne lieu à la réponse « Cache X : absent de CloudFront », il se peut que le navigateur réponde de la même façon aux demandes suivantes parce qu'il est stocké dans le cache du navigateur.

Pour vérifier si la réponse est stockée dans le cache du navigateur, effacez le cache du navigateur et faites une nouvelle demande pour le même objet.

Remarque : pour déterminer la durée selon laquelle le navigateur met l'objet en cache, vérifiez si toutes les En-têtes contrôlées par cache ou expirées sont définies sur l'objet.


Cette page vous a-t-elle été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?