15 janvier 2023

Codes d'état HTTP CloudFlare cf-cache-status

Comprendre les codes d'état HTTP CloudFlare cf-cache-status pour comprendre le bon fonctionnement du cache.

Bannière d'état Cloudflare CF

CloudFlare est un système de réseau de diffusion de contenu (CDN) qui offre un certain nombre de fonctionnalités pour améliorer les performances et la sécurité du site Web. Parmi eux, la fonction de proxy inverse est l'une des plus importantes car elle masque l'adresse IP du serveur d'origine et protège le site Web des attaques DDoS et autres menaces.

De plus, l'utilisation de Cloudflare comme proxy inverse permet de tirer parti de sa fonction de mise en cache : une copie de la ressource demandée est enregistrée sur les serveurs de Cloudflare, évitant ainsi d'interroger constamment le serveur d'origine. Ceci améliore les performances du site web en réduisant la latence et en accélérant le chargement des pages. Toutefois, la compréhension du fonctionnement du cache de Cloudflare et l'interprétation de ses codes d'état peuvent s'avérer complexes.

Dans cet article, nous nous concentrerons sur un aspect spécifique de CloudFlare, à savoir les codes d'état du cache.

Comment fonctionne CloudFlare via un proxy inverse.

La fonctionnalité de proxy inverse de Cloudflare repose sur NGINX, ce qui permet de masquer l'adresse IP du serveur d'origine et de protéger votre site web contre les attaques DDoS et autres menaces. Cependant, pour des raisons de performance, Cloudflare a récemment entamé une migration de NGINX vers Pingora , une technologie interne. Cette migration vise à offrir une plus grande flexibilité et de meilleures performances pour le traitement des requêtes, notamment face aux attaques DDoS.

Un proxy inverse est un système qui sert d'intermédiaire entre le client et le serveur d'origine. Lorsqu'un client effectue une requête, celle-ci est acheminée vers le proxy inverse, qui la transmet ensuite au serveur d'origine. Le proxy inverse reçoit alors la réponse du serveur d'origine et la transmet au client.

Schéma de proxy inverse Pingora

Réponses cf-cache-status et ce que cela signifie

La réponse cf-cache-status fournie par Cloudflare est un indicateur important de la manière dont la requête a été traitée par le cache. Plusieurs codes d'état sont possibles : HIT, MISS, EXPIRED, BYPASS, DYNAMIC et STALE , chacun correspondant à une situation spécifique. Cet article explore en détail la signification de ces codes d'état et comment les interpréter pour optimiser les performances de votre site web grâce à Cloudflare.

cloudflare-cdn-header-cf-cache-statut

Les codes d'état CloudFlare sont un ensemble de valeurs qui indiquent l'état du cache d'une requête. Ces valeurs sont renvoyées dans le cadre de l'en-tête HTTP "cf-cache-status" et peuvent être utilisées pour comprendre comment CloudFlare gère les requêtes vers votre site.

Les valeurs les plus courantes pour l'en-tête "cf-cache-status" sont :

  • HIT: Cela indique que la requête a été servie à partir du cache de CloudFlare. Cela signifie que CloudFlare a vu la demande et l'a servie sans la transmettre à votre serveur d'origine.
  • MISS: Cela indique que la requête n'a pas été trouvée dans le cache de CloudFlare et a donc été transmise à votre serveur d'origine pour être traitée.
  • EXPIRATION: Cela indique que la requête a été servie à partir d'une ressource dans le cache de CloudFlare, mais que la ressource a expiré et doit être mise à jour par votre serveur d'origine.
  • CONTOURNE: Cela indique que CloudFlare a décidé de contourner le cache pour cette requête et de la transmettre directement à votre serveur d'origine. Cela peut se produire dans le cas de requêtes qui ne peuvent pas être mises en cache, telles que celles effectuées via la méthode POST.

De plus, il existe d'autres valeurs moins courantes comme « DYNAMIC », « STALE » et « UPDATING » qui peuvent indiquer en détail l'état du cache de la requête.

Que signifie cf-cache-status:HIT ?

Le terme HIT dans la réponse cf-cache-status de CloudFlare indique que la demande a été traitée à partir du cache de CloudFlare, c'est-à-dire que CloudFlare a utilisé une copie de la ressource présente dans son cache pour traiter la demande. Cela évite de transmettre la demande au serveur d'origine, améliore les performances et réduit la latence, c'est-à-dire le temps jusqu'au premier octet ou TTFB.

Lorsque CloudFlare reçoit une demande, il vérifie d'abord son cache pour voir si une copie de la ressource demandée s'y trouve déjà. Si la copie est présente et toujours valide, CloudFlare l'utilise pour traiter la demande et renvoie une réponse HIT.

Que signifie cf-cache-status : MISS ?

Le terme MISS dans la réponse cf-cache-status de CloudFlare indique que la demande n'a pas été traitée à partir du cache de CloudFlare et donc transmise au serveur d'origine pour obtenir la ressource demandée. Cela peut arriver dans plusieurs cas, par exemple lorsque la ressource n'est pas présente dans le cache CloudFlare ou lorsque la copie présente dans le cache a expiré. Dans ces cas, CloudFlare enverra la demande au serveur d'origine et enregistrera une copie de la réponse dans son cache pour les demandes futures. Cela permet de réduire la charge sur le serveur d'origine et d'améliorer les performances pour les demandes ultérieures. La prochaine fois que vous accéderez à cette ressource, son statut devrait être HIT.

Que signifie cf-cache-status : EXPIRÉ ?

Le terme EXPIRED dans la réponse cf-cache-status de CloudFlare indique que la demande a été servie par une copie de la ressource qui se trouve dans le cache de CloudFlare, mais que cette copie a expiré. Cela signifie que CloudFlare a utilisé une copie de l'asset qui se trouve dans son cache, mais que cette copie n'est plus valide car sa période de validité a expiré. Dans ce cas, CloudFlare enverra une nouvelle requête au serveur d'origine pour obtenir une copie mise à jour de la ressource et enregistrer une copie de la réponse dans son cache pour les requêtes futures. Cela aide à maintenir le cache de CloudFlare à jour et garantit que les demandes sont toujours servies avec la dernière version de la ressource.

Que signifie cf-cache-status : BYPASS ?

Le terme BYPASS dans la réponse cf-cache-status de CloudFlare indique que la demande n'a pas été traitée à partir du cache de CloudFlare et a donc été transmise au serveur d'origine pour obtenir la ressource demandée. Cela peut arriver pour plusieurs raisons, par exemple :

  • CloudFlare peut être configuré pour contourner le cache pour certaines requêtes, telles que celles effectuées par des utilisateurs authentifiés ou à partir d'adresses IP spécifiques.
  • La requête peut être de type POST, PUT, DELETE, c'est-à-dire des méthodes de requête qui ne peuvent pas être gérées par le cache.
  • La ressource peut avoir une étiquette de cache spécifique qui indique à CloudFlare de ne pas la mettre en cache
  • La ressource peut avoir une courte durée de vie et il serait donc inapproprié de la mettre en cache

Le contournement du cache CloudFlare signifie que la requête est transmise directement au serveur d'origine pour obtenir la ressource demandée, sans utiliser la copie présente dans le cache CloudFlare. Cela permet de garantir que la demande est toujours servie avec la dernière version de la ressource, mais peut avoir un impact sur les performances puisque la demande doit être traitée par le serveur d'origine.

Que signifie cf-cache-status : DYNAMIQUE ?

Le terme DYNAMIC dans la réponse cf-cache-status de CloudFlare indique que la requête a été servie par une copie de la ressource présente dans le cache de CloudFlare mais que cette copie a été générée dynamiquement. Cela signifie que CloudFlare a utilisé une copie de la ressource qui était dans son cache, mais cette copie a été générée dynamiquement au moment de la requête, à l'aide d'un script ou d'une application. Ceci est utilisé pour gérer le contenu dynamique tel que les sites Web utilisant PHP ou le contenu personnalisé basé sur l'utilisateur. Dans ce cas, CloudFlare utilise le cache pour éviter de toujours traiter la requête via le script ou l'application, mais génère une copie dynamiquement uniquement lorsque cela est nécessaire. Cela améliore les performances et réduit la latence, mais nécessite plus de traitement que le mode de mise en cache statique.

Que signifie cf-cache-status : PÉRIMÉ ?

Le terme STALE dans la réponse cf-cache-status de CloudFlare indique que la demande a été servie par une copie de la ressource dans le cache de CloudFlare, mais cette copie n'est plus valide car sa période de validité a expiré. Dans ce cas, CloudFlare utilise la copie présente dans son cache, mais envoie en même temps une nouvelle requête au serveur d'origine pour obtenir une copie mise à jour de la ressource. Cela permet à la demande d'être servie immédiatement à l'aide de la copie en cache, mais garantit également que le cache est à jour avec la dernière version de la ressource.

Ceci est utile lorsque vous souhaitez éviter d'afficher une erreur pour une page indisponible, mais que vous souhaitez en même temps disposer d'une copie à jour de la ressource pour les demandes futures.

En général, l'utilisation du mode « STALE » établit un équilibre entre les performances et la fraîcheur du contenu, mais cela dépend des besoins spécifiques de votre site Web ou de votre application.

Que signifie cf-cache-status : MISE À JOUR ?

Le terme UPDATING dans la réponse cf-cache-status de CloudFlare indique que la demande a été servie par une copie de la ressource dans le cache de CloudFlare, mais qu'une nouvelle copie de la ressource est actuellement extraite du serveur d'origine pour mettre à jour le cache. Dans ce cas, CloudFlare utilisera la copie présente dans son cache pour servir la requête en cours, mais en même temps il enverra une nouvelle requête au serveur d'origine pour obtenir une copie mise à jour de la ressource. Cela permet à la demande d'être servie immédiatement à l'aide de la copie en cache, mais garantit également que le cache est mis à jour avec la dernière version de la ressource aussi rapidement que possible.

Cet état UPDATING est transitoire et la demande sera ensuite servie avec l'une des réponses HIT, EXPIRED, STALE ou MISS, selon les paramètres de cache configurés.

Connaître ces valeurs et comprendre comment CloudFlare gère les demandes adressées à votre site peut vous aider à optimiser la configuration de votre compte et à améliorer les performances de votre site pour les visiteurs.

conclusion

CloudFlare est une solution abordable et fonctionnelle pour améliorer les performances et la sécurité des sites Web. Sa fonctionnalité de mise en cache et de réseau de diffusion de contenu (CDN) vous permet de réduire la latence et d'augmenter la vitesse de chargement des pages. Cependant, pour tirer le meilleur parti de CloudFlare, il est important de s'assurer que votre mise en cache est correctement configurée et efficace.

Un indicateur important pour évaluer l'efficacité du cache de Cloudflare est le taux de réussite (HIT ), qui correspond au rapport entre les requêtes traitées par le cache (HIT) et celles qui doivent être renvoyées au serveur d'origine (MISS). Plus le taux de réussite est élevé, plus le cache est efficace. Un taux de réussite faible indique que de nombreuses requêtes doivent être renvoyées au serveur d'origine et que le cache est donc mal configuré ou inefficace.

Il existe un aspect crucial que personne ne mentionne : bien que CloudFlare contribue à réduire le TTFB et la latence pour les requêtes HIT, il a tendance à les augmenter pour les requêtes MISS ou, en tout cas, pour toutes celles qui doivent récupérer du contenu depuis le serveur d'origine, en ajoutant la latence inverse nécessaire pour récupérer le contenu depuis le serveur d'origine et donc en ajoutant à la fois la latence géographique, la durée de la négociation SSL et le temps d'attente pour que le serveur d'origine génère la réponse.

poignée de main tls-ssl

Pour tirer le maximum d'avantages de CloudFlare, il est donc important de surveiller en permanence le HIT Ratio et, si nécessaire, d'apporter des modifications à la configuration du cache pour améliorer l'efficacité. De plus, il est également important de surveiller d'autres indicateurs de performances tels que la latence, le nombre de requêtes et l'état des requêtes pour avoir une image complète du fonctionnement du cache et de votre configuration.

Vous ne savez pas comment configurer correctement le cache Cloudflare pour optimiser les performances de votre site web ? Vous vous demandez si votre configuration actuelle est optimale ? Contactez-nous ! Nos experts vous aideront à mieux comprendre le fonctionnement du cache Cloudflare et à le configurer pour maximiser les performances de votre site. Grâce à nos conseils, vous pourrez améliorer la vitesse de votre site, optimiser l'expérience utilisateur et le protéger des attaques DDoS.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

AVIS DE NON-RESPONSABILITÉ, Mentions légales et droits d'auteur. Red Hat, Inc. détient les droits sur Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale de la AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la Fondation FreeBSD ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt ; Oracle Corporation détient les droits sur Oracle®, MySQL®, MyRocks®, VirtualBox® et ZFS® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; PostgreSQL® est une marque déposée de PostgreSQL Global Development Group ; SQLite® est une marque déposée de Hipp, Wyrick & Company, Inc. ; KeyDB® est une marque déposée d'EQ Alpha Technology Ltd. ; Typesense® est une marque déposée de Typesense Inc. ; REDIS® est une marque déposée de Redis Labs Ltd ; F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB ; HAProxy® est une marque déposée de HAProxy Technologies LLC ; Traefik® est une marque déposée de Traefik Labs ; Envoy® est une marque déposée de CNCF ; Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited ; Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal® ; Shopify® est une marque déposée de Shopify Inc. ; BigCommerce® est une marque déposée de BigCommerce Pty. Ltd.; TYPO3® est une marque déposée de la TYPO3 Association; Ghost® est une marque déposée de la Ghost Foundation; Amazon Web Services, Inc. détient les droits sur AWS® et Amazon SES® ; Google LLC détient les droits sur Google Cloud™, Chrome™ et Google Kubernetes Engine™ ; Alibaba Cloud® est une marque déposée d'Alibaba Group Holding Limited ; DigitalOcean® est une marque déposée de DigitalOcean, LLC ; Linode® est une marque déposée de Linode, LLC ; Vultr® est une marque déposée de The Constant Company, LLC ; Akamai® est une marque déposée d'Akamai Technologies, Inc. ; Fastly® est une marque déposée de Fastly, Inc. ; Let's Encrypt® est une marque déposée d'Internet Security Research Group ; Microsoft Corporation détient les droits sur Microsoft®, Azure®, Windows®, Office® et Internet Explorer® ; Mozilla Foundation détient les droits sur Firefox® ; Apache® est une marque déposée de The Apache Software Foundation ; Apache Tomcat® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée de PHP Group ; Docker® est une marque déposée de Docker, Inc. Kubernetes® est une marque déposée de The Linux Foundation ; OpenShift® est une marque déposée de Red Hat, Inc. ; Podman® est une marque déposée de Red Hat, Inc. ; Proxmox® est une marque déposée de Proxmox Server Solutions GmbH ; VMware® est une marque déposée de Broadcom Inc. ; CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV ; Grafana® est une marque déposée de Grafana Labs ; Prometheus® est une marque déposée de The Linux Foundation ; Zabbix® est une marque déposée de Zabbix LLC ; Datadog® est une marque déposée de Datadog, Inc. ; Ceph® est une marque déposée de Red Hat, Inc. ; MinIO® est une marque déposée de MinIO, Inc. ; Mailgun® est une marque déposée de Mailgun Technologies, Inc. ; SendGrid® est une marque déposée de Twilio Inc. Postmark® est une marque déposée d'ActiveCampaign, LLC ; cPanel®, LLC détient les droits sur cPanel® ; Plesk® est une marque déposée de Plesk International GmbH ; Hetzner® est une marque déposée de Hetzner Online GmbH ; OVHcloud® est une marque déposée d'OVH Groupe SAS ; Terraform® est une marque déposée de HashiCorp, Inc. ; Ansible® est une marque déposée de Red Hat, Inc. ; cURL® est une marque déposée de Daniel Stenberg ; Facebook®, Inc. détient les droits sur Facebook®, Messenger® et Instagram®. Ce site n'est pas affilié, sponsorisé ou autrement associé à l'une des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées sont la propriété de leurs titulaires respectifs. MANAGED SERVER® est une marque déposée européenne de MANAGED SERVER SRL, dont le siège social est situé Via Flavio Gioia, 6, 62012 Civitanova Marche (MC), Italie et le siège opérationnel Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italie.

JUSTE UN MOMENT !

Vous êtes-vous déjà demandé si votre hébergement était nul ?

Découvrez dès maintenant si votre hébergeur vous pénalise avec un site web lent digne des années 1990 ! Résultats immédiats.

Fermer le CTA
Retour en haut de page