Qu'est-ce que le Caching?
Le caching fait référence au stockage temporaire de fichiers, tels que des images et des pages web, afin que les mêmes fichiers n'aient pas à être chargés à chaque fois qu'une page est consultée. Cela accélère généralement l'expérience de l'utilisateur car cela réduit la quantité de données qui doivent être chargées. Le caching peut se produire à de nombreux endroits. Par exemple, votre navigateur web peut mettre en cache des fichiers afin qu'il n'ait pas à télécharger de nouveau chaque fichier d'une page si vous avez déjà visité cette page.
Un Réseau de Distribution de Contenu (CDN) comme Cloudflare mettra également en cache des fichiers à une plus grande échelle, de sorte qu'après qu'un fichier a été accédé au nom d'un utilisateur, le même fichier peut être stocké sur leurs serveurs pour d'autres utilisateurs aussi, sans avoir à faire de nouvelles requêtes vers le serveur d'origine. En mettant en cache de cette manière, les CDN peuvent réduire le temps nécessaire pour fournir un fichier mis en cache à l'utilisateur.
Caching, Cloudflare et CSS
Un problème potentiel avec le caching est qu'il peut mener à une situation où des modifications apportées à un site peuvent ne pas être immédiatement visibles pour les visiteurs du site. Cela peut se produire que le site ait été mis en cache par un navigateur web ou par un serveur.
Bien qu'il existe normalement des sauvegardes pour empêcher le caching de devenir problématique, cela peut être un problème particulier avec les feuilles de style en cascade (CSS). Si vous utilisez Cloudflare avec votre site, ils mettront en cache votre CSS pour une durée prolongée. Cela signifie que si vous apportez des modifications à votre CSS, il faudra un certain temps avant de les voir sur le site en direct.
Solution de Caching CSS
Cela peut être résolu en modifiant la référence à votre fichier CSS dans le HTML de la page donnée afin qu'une nouvelle chaîne de requête soit ajoutée - par exemple, en modifiant "exemple.css" en "exemple.css?v=2.2.2". Cela entraîne généralement les CDN et les navigateurs web à se comporter comme si c'était un nouveau fichier qu'ils n'ont pas téléchargé auparavant - même s'ils l'ont déjà fait.
Dans l'exemple donné, Cloudflare retiendra sa requête habituelle vers "exemple.css" (le même fichier qu'il utilisait toujours), et fera à la place une toute nouvelle requête au serveur d'origine pour obtenir la dernière copie du fichier.
Le serveur d'origine ignorera la chaîne de requête "?v=2.2.2", mais fournira néanmoins la dernière version du fichier. La prochaine fois que "exemple.css" est mis à jour, cela peut être changé en "exemple.css?v=2.2.3" - ou en tout autre numéro que vous préférez - afin que Cloudflare obtienne à nouveau la dernière version.