Comprendre les CDN de Cloudflare

Découvrez le réseau de distribution de contenu (CDN) de Cloudflare, comment il fonctionne, quel contenu il met en cache par défaut et comment personnaliser votre mise en cache.


Présentation

Le réseau de distribution de contenu (CDN) de Cloudflare est un groupe de serveurs géographiquement distribués qui assurent une livraison rapide de contenu internet dont les pages HTML, les fichiers JavaScript, les feuilles de style et les images. La mise en cache de ressources statiques au niveau de Cloudflare réduit la charge et la bande passante de votre serveur, sans charge supplémentaire pour les pics de bande passante.

Cloudflare ne requiert pas de sous-domaine ou de nom d’hôte CDN supplémentaire et vous n’avez pas besoin de changer vos URL.

Il y a de nombreuses raisons d’utiliser le CDN de Cloudflare pour votre site :

Expérience utilisateur : Sans le CDN de Cloudflare, les visiteurs géographiquement éloignés de votre serveur web d’origine rencontrent des chargements de page lents. Le réseau anycast de Cloudflare distribue à vos visiteurs du contenu géographiquement plus proche, afin de réduire le chargement de la page et la latence.

Pics de trafic : En raison de nouvelles importantes ou d’évènements en ligne, l’afflux de trafic soudain à destination de votre site peut surcharger votre serveur web d’origine. Le CDN de Cloudflare aide votre contenu mis en cache à supprimer la charge de votre serveur web d’origine.

Protection contre les attaques DDoS : Les attaques par déni de service distribué (DDoS) interrompent le fonctionnement des sites web en inondant leur infrastructure de trafic. Le CDN de Cloudflare dispose d’une capacité de réseau 15 fois plus important que celui utilisé lors de la plus grande attaque DDoS jamais réalisée et gère les attaques DDoS modernes pour s’assurer que votre site web reste en ligne.

Mettre du contenu en cache avec Cloudflare

Cloudflare met en cache le contenu statique en fonction :

  • De la provenance de vos visiteurs,
  • Quel datacenter Cloudflare vos visiteurs atteignent, et
  • La fréquence à laquelle les visiteurs font une requête de ressource au niveau d’un datacenter spécifique.

Cloudflare ne met seulement en cache une ressource au sein d’un datacenter Cloudflare qui dessert la requête et ne met pas en cache :

  • les ressources provenant de sites hors ligne ou de tiers (Facebook, Flickr, etc.),
  • le contenu hébergé sur des enregistrement DNS non proxysés (en nuage gris), ou
  • le contenu renvoyé avec no-cache, private, max-age=0 or dépassé les en-têtesExpires depuis votre serveur web d’origine.

Le CDN de Cloudflare offre plusieurs options de personnalisation de cache  :

  • Spécifier la gestion du cache pour les URLs individuelles via Cloudflare Page Rules
  • Personnaliser la mise en cache avec Cloudflare Workers
  • Ajouter le niveau de cache, le TTL du cache et plus encore via l’application Caching de Cloudflare
La taille maximum des caches du CDN de Cloudflare est de 512 Mo pour les clients Free, Pro, et Business et de 5 Go pour les clients Enterprise. Les clients Enterprise peuvent contacter leur équipe de compte Cloudflare pour demander la mise en cache de fichiers plus volumineux.

Cloudflare ne met en cache qu’en fonction de l’extension de fichier et ne met pas en cache par type MIME. Le CDN de Cloudflare met automatiquement en cache le fichiers contenant certaines extensions de fichier et ne met pas en cache le contenu HTML par défaut :

bmp

ejs

jpeg

pdf

ps

ttf

class

eot

jpg

pict

svg

webp

css

eps

js

pls

svgz

woff

csv

gif

mid

png

swf

woff2

doc

ico

midi

ppt

tif

xls

docx

jar

otf

pptx

tiff

xlsx

Mettez en cache du contenu supplémentaire en créant une Page Rule Cloudflare Cache Everything pour tout mettre en cache.

Cloudflare met en cache les redirections 301 et 302 s’il n’y a pas d’en-têtes max-age=0, no-cache, private, ou Expires dépassé et si l’URL peut être mise en cache. Les redirections 301 sont mises en cache pour quelques heures et les 302 sont mises en cache pendant moins de 20 minutes.

Réponses de cache Cloudflare

La sortie de l’en-tête CF-Cache-Status indique si une ressource est mise en cache :

HIT

La ressource a été trouvée dans le cache de Cloudflare.

MISS

La ressource n’a pas été trouvée dans le cache de Cloudflare et a été desservie depuis le serveur web d’origine.

EXPIRED

La ressource a été trouvée dans le cache mais a expiré depuis et a été desservie depuis le serveur web d’origine.

STALE

La ressource a été desservie à partir du cache mais a expiré. Cloudflare n’a pas pu contacter le serveur d’origine pour extraire la ressource mise à jour.

BYPASS

Le serveur d'origine a indiqué à Cloudflare de contourner le cache via un en-tête Cache-Control réglé à no-cache, private ou max-age=0. BYPASS est renvoyé au moment de l’activation de Origin Cache-Control.

REVALIDATED

La ressource est desservie à partir du cache mais est périmée. La ressource a été revalidée soit par un en-tête If-Modified-Since ou un en-tête If-None-Match.

UPDATING

La ressource a été desservie à partir du cache mais a expiré. La ressource est actuellement mise à jour par le serveur web d’origine. En règle générale, UPDATING ne s’affiche que pour les ressources mises en cache très populaires.

L’en-tête CF-Cache-Status est en échec

Si l’en-tête CF-Cache-Status est en échec mais que vous observez les autres en-têtes de Cloudflare, comme CF-RAY, la ressource n’a pas été mise en cache. Utilisez Page Rules pour implémenter les options de mise en cache personnalisées.

Utilisez un service comme Redbot ou webpagetest.org pour examiner des réponses de cache renvoyées par l’en-tête CF-Cache-Status.  Vous pouvez également les examiner avec un outil visuel comme le plugin Dr. Flare de Chrome.

Ressources associées

Vous n'avez toujours pas trouvé ce que vous cherchez ?

95% des questions peuvent être répondues en utilisant l'outil de recherche. C'est le moyen le plus rapide d'obtenir une réponse.

Réalisé par Zendesk