{"id":916,"date":"2026-03-06T17:53:00","date_gmt":"2026-03-06T09:53:00","guid":{"rendered":"https:\/\/www.ddosgj.com\/?p=916"},"modified":"2026-03-06T17:53:00","modified_gmt":"2026-03-06T09:53:00","slug":"comment-definir-la-politique-de-mise-en-cache-dun-cdn-de-haute-defense-differenciation-du-contenu-statique-et-dynamique","status":"publish","type":"post","link":"https:\/\/www.ddosgj.com\/fr\/916-html","title":{"rendered":"Comment d\u00e9finir la politique de mise en cache d'un CDN de haute d\u00e9fense ? Mise en cache diff\u00e9rentielle pour les contenus statiques et dynamiques afin d'am\u00e9liorer la vitesse."},"content":{"rendered":"<p>Je viens de traiter un probl\u00e8me en ligne avec un client, la tension art\u00e9rielle a failli ne pas monter. Vous dites qu'une bonne station de commerce \u00e9lectronique, un grand jour \u00e0 la maison soudainement l'\u00e9cran blanc, l'utilisateur fou des plaintes. Une v\u00e9rification, un bon gars, le CPU de la station source a directement grimp\u00e9 \u00e0 100%, le pool de connexion de la base de donn\u00e9es est plein. La cause premi\u00e8re ? Une page de produit populaire a \u00e9t\u00e9 crawler une deuxi\u00e8me demande des milliers de fois, chaque demande p\u00e9n\u00e8tre le CDN, directement de retour \u00e0 la base de donn\u00e9es de requ\u00eate de source. Comment ce top ah est-il possible ? Le CDN \u00e0 haute d\u00e9fense est \u00e9videmment suspendu, l'attaque est \u00e9vit\u00e9e, mais la vitesse ? La performance ? De l'argent d\u00e9pens\u00e9 en vain ! Le probl\u00e8me r\u00e9side dans le fait que la strat\u00e9gie de mise en cache n'est pas configur\u00e9e correctement - soit une mise en cache int\u00e9grale, soit une mise en cache dynamique int\u00e9grale, sans faire le processus de diff\u00e9renciation.<\/p>\n<p>J'ai vu trop d'\u00e9quipes consid\u00e9rer le CDN de haute d\u00e9fense comme un simple \u201cbouclier de trafic\u201d, pensant que tant que l'ensemble peut \u00eatre \u00e0 la fois s\u00fbr et rapide. En fait, c'est une grave erreur. La valeur fondamentale du CDN haute d\u00e9fense, la moiti\u00e9 de la protection de la s\u00e9curit\u00e9, l'autre moiti\u00e9 se trouve pr\u00e9cis\u00e9ment dans le syst\u00e8me de gestion du trafic.<strong>Conception correcte du cache<\/strong>Le cache est un bon moyen de faire face \u00e0 l'afflux de trafic. S'il est bien configur\u00e9, le cache peut non seulement supporter le pic de trafic, mais aussi vous permettre d'\u00eatre touch\u00e9 lorsque l'utilisateur est compl\u00e8tement insensible et de continuer \u00e0 naviguer ; s'il est mal configur\u00e9, l'attaque est \u00e9vit\u00e9e, mais l'utilisateur normal ne peut pas utiliser la carte, et la station source peut \u00e9galement \u00eatre bless\u00e9e par erreur.<\/p>\n<p>Pourquoi le cache de votre CDN est-il toujours erron\u00e9 ? Quatre-vingt pour cent d'entre eux ne comprennent pas le terme \u201cs\u00e9paration statique et dynamique\u201d. Le contenu statique (images, CSS, JS, polices, etc.) et le contenu dynamique (interfaces API, donn\u00e9es de session utilisateur, tarification en temps r\u00e9el) sont fondamentalement deux types de cr\u00e9atures, mais vous utilisez le m\u00eame ensemble de r\u00e8gles de mise en cache pour les traiter, cela ne peut-il pas se produire ? Le contenu statique devrait \u00eatre mis en cache jusqu'\u00e0 la mort, tandis que le contenu dynamique devrait \u00eatre soigneusement contr\u00f4l\u00e9 ou m\u00eame compl\u00e8tement contourn\u00e9.<\/p>\n<p>Remarquez ici le<code>immuable<\/code>qui indique au navigateur : ce fichier ne changera jamais dans votre vie, vous pouvez donc le lire \u00e0 partir du cache local sans m\u00eame envoyer de requ\u00eate conditionnelle. Dans la pratique, cette m\u00e9thode est extr\u00eamement efficace pour r\u00e9duire le nombre de requ\u00eates en double et augmenter la vitesse.<\/p>\n<p>Le plus grand casse-t\u00eate est le contenu dynamique. Par exemple, la page des d\u00e9tails du produit, la plupart du contenu est statique (description du produit, images), mais une petite partie du contenu est dynamique (quantit\u00e9 en stock, pseudonymes des utilisateurs). Tout mettre en cache, les donn\u00e9es vont expirer ; ne pas mettre en cache, la station source est soumise \u00e0 une forte pression. C'est ici que nous devons offrir mon pr\u00e9f\u00e9r\u00e9 \u201c<strong>Cache partiel<\/strong>\u201d(Edge Side Includes) ou le plus moderne \u201c<strong>informatique de pointe<\/strong>\u201dProgramme up.<\/p>\n<p>Prenons l'exemple de CDN07, sa fonction de bordure est tr\u00e8s utile. Vous pouvez \u00e9crire un simple morceau de logique JS pour lancer des sous-demandes de contenu dynamique uniquement au niveau du n\u0153ud de bordure, les fusionner et les renvoyer \u00e0 l'utilisateur :<\/p>\n<p>De cette mani\u00e8re, le corps principal de la page est mis en cache pendant 10 minutes, tandis que les modules dynamiques sont r\u00e9cup\u00e9r\u00e9s en temps r\u00e9el sur demande. Cela r\u00e9duit la pression sur la station source et garantit la disponibilit\u00e9 en temps r\u00e9el des donn\u00e9es de base.<\/p>\n<p>Veillez \u00e0 d\u00e9finir les facteurs susceptibles d'affecter les modifications de contenu dans le cadre de la cl\u00e9 de mise en cache. Par exemple :<\/p>\n<li>URL compl\u00e8te (y compris le param\u00e8tre point d'interrogation)<\/li>\n<li>M\u00e9thode HTTP<\/li>\n<li>En-t\u00eates de requ\u00eate sp\u00e9cifiques (par exemple, Accept-Language)<\/li>\n<p>mais veillez \u00e0<strong>Exclusion des facteurs qui n'affectent pas le contenu<\/strong>Il est important de mettre en place des param\u00e8tres de suivi, tels que User-Agent (\u00e0 moins que vous ne produisiez un contenu diff\u00e9rent pour le mobile et le PC), ou un param\u00e8tre de suivi (tel que utm_source). Sinon, vous mettrez en cache un nombre incalculable de copies de la m\u00eame ressource, et le taux de r\u00e9ussite de la mise en cache ne fera que chuter.<\/p>\n<p>Il existe un autre sc\u00e9nario particulier pour les CDN \u00e0 haute d\u00e9fense :<strong>Strat\u00e9gie de mise en cache en cas d'attaques CC<\/strong>. Lorsque le CDN reconna\u00eet qu'une URL fait l'objet d'un nettoyage sauvage, vous pouvez d\u00e9finir une r\u00e8gle sp\u00e9ciale : mettre en cache la r\u00e9ponse \u00e0 cette URL pendant une courte p\u00e9riode (disons 10 secondes). Ne vous fiez pas \u00e0 ces 10 secondes, cela signifie que pour toutes les requ\u00eates adress\u00e9es \u00e0 cette URL dans les 10 secondes, le n\u0153ud CDN renverra directement le contenu mis en cache et ne retournera pas du tout \u00e0 la source. Ce \u201cbouclier\u201d de 10 secondes est suffisant pour que le module de s\u00e9curit\u00e9 du CDN puisse d\u00e9terminer et bloquer les IP malveillantes. J'ai utilis\u00e9 cette astuce sur 08Host pour r\u00e9sister avec succ\u00e8s \u00e0 une attaque CC contre l'interface de recherche, le site source n'a m\u00eame pas re\u00e7u de requ\u00eate.<\/p>\n<p>Enfin, n'oubliez pas le r\u00e9chauffement et l'effacement du cache. M\u00eame la meilleure strat\u00e9gie doit s'accompagner de mesures de soutien. La vitesse de l'interface de rafra\u00eechissement de l'API de 08Host est la plus rapide que j'aie jamais utilis\u00e9e, et apr\u00e8s avoir appel\u00e9 le n\u0153ud 95%, elle peut invalider le cache en 3 secondes, contrairement \u00e0 d'autres fournisseurs qui doivent attendre une demi-heure.<\/p>\n<p>Ceci \u00e9tant dit, le r\u00e9sultat est le suivant<strong>Testez, testez et testez encore.<\/strong>. Apr\u00e8s avoir fait correspondre les r\u00e8gles, assurez-vous de v\u00e9rifier l'en-t\u00eate Cache-Control avec curl ou votre navigateur pour vous assurer que le cache a \u00e9t\u00e9 atteint comme pr\u00e9vu. Observez le rapport sur le taux de r\u00e9ussite du cache sur la console CDN pendant un moment, s'il est inf\u00e9rieur \u00e0 90%, il doit y avoir de la place pour l'optimisation.<\/p>\n<p>La strat\u00e9gie de mise en cache n'est pas permanente, elle doit suivre les changements de l'entreprise. Mais tant que vous ma\u00eetrisez le principe de base \u201ccontenu statique en cache longue dur\u00e9e, contenu dynamique en contr\u00f4le fin, param\u00e8tres de cl\u00e9 de cache raisonnables\u201d, vous ne risquez pas de vous tromper. N'oubliez pas que le CDN \u00e0 haute d\u00e9fense n'est pas seulement un pare-feu, il devrait \u00eatre la couche la plus importante de votre acc\u00e9l\u00e9rateur d'architecture de performance. S'il est bien configur\u00e9, l'exp\u00e9rience de l'utilisateur monte en fl\u00e8che ; s'il est mal configur\u00e9, l'argent est d\u00e9pens\u00e9 et critiqu\u00e9. De nos jours, m\u00eame les CDN doivent \u201cpr\u00e9venir les co\u00e9quipiers\u201d - pour emp\u00eacher ceux qui ne comprennent pas la configuration chaotique de leur propre personnel ah.<\/p>","protected":false},"excerpt":{"rendered":"<p>Je viens de traiter un probl\u00e8me en ligne avec un client, la tension art\u00e9rielle a failli ne pas monter. Vous dites qu'une bonne station de commerce \u00e9lectronique, un grand jour \u00e0 la maison soudainement l'\u00e9cran blanc, l'utilisateur fou des plaintes. Une v\u00e9rification, un bon gars, le CPU de la station source a directement grimp\u00e9 \u00e0 100%, le pool de connexion de la base de donn\u00e9es est plein. La cause premi\u00e8re ? Une page de produit populaire a \u00e9t\u00e9 crawler une deuxi\u00e8me demande des milliers de fois, chaque demande p\u00e9n\u00e8tre le CDN, directement de retour \u00e0 la base de donn\u00e9es de requ\u00eate de source. Comment ce top ah est-il possible ? Le CDN \u00e0 haute d\u00e9fense est \u00e9videmment suspendu, l'attaque est \u00e9vit\u00e9e, mais la vitesse ? La performance ? De l'argent d\u00e9pens\u00e9 en vain ! Le probl\u00e8me r\u00e9side dans le fait que la strat\u00e9gie de mise en cache n'est pas configur\u00e9e correctement - soit une mise en cache compl\u00e8te, soit une mise en cache dynamique compl\u00e8te, sans faire le processus de diff\u00e9renciation. J'ai vu trop d'\u00e9quipes utiliser un CDN \u00e0 haute d\u00e9fense comme un simple \u201cbouclier de trafic\u201d, pensant que tant que l'ensemble peut \u00eatre \u00e0 la fois s\u00fbr et rapide. En fait, c'est une grave erreur. CDN \u00e0 haute d\u00e9fense<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"gallery","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[150],"tags":[],"collection":[],"class_list":["post-916","post","type-post","status-publish","format-gallery","hentry","category-updates","post_format-post-format-gallery"],"_links":{"self":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/comments?post=916"}],"version-history":[{"count":1,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/916\/revisions"}],"predecessor-version":[{"id":1209,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/916\/revisions\/1209"}],"wp:attachment":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/media?parent=916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/categories?post=916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/tags?post=916"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/collection?post=916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}