Qu'est-ce que la mise en cache ?
La mise en cache fait référence au stockage à court terme 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 utilisateur en réduisant la quantité de données à charger. La mise en cache peut se produire à plusieurs endroits. Par exemple, votre navigateur web peut mettre en cache des fichiers afin de ne pas avoir à télécharger à nouveau chaque fichier d'une page si vous avez déjà visité cette page auparavant.
Un réseau de diffusion de contenu (CDN) tel que Cloudflare mettra également en cache des fichiers à plus grande échelle, de sorte qu'après qu'un fichier ait été accédé pour un utilisateur, le même fichier puisse être stocké sur leurs serveurs pour d'autres utilisateurs, sans avoir à faire des demandes supplémentaires au 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.
Mise en cache, Cloudflare et CSS
Un problème potentiel avec la mise en cache est qu'elle peut conduire à une situation où les 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 généralement des mesures de sécurité en place pour empêcher la mise en cache 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 vos CSS pendant longtemps. Cela signifie que si vous apportez des modifications à vos CSS, il faudra un certain temps avant de les voir sur le site en direct.
Solution pour la mise en cache des CSS
Cela peut être résolu en modifiant la référence à votre fichier CSS dans le HTML de la page concernée afin d'ajouter une nouvelle chaîne de requête - par exemple, en modifiant "example.css" en "example.css?v=2.2.2". Cela incite généralement les CDNs et les navigateurs web à se comporter comme s'il s'agissait d'un nouveau fichier qu'ils n'ont jamais téléchargé auparavant - même s'ils l'ont déjà fait.
Dans l'exemple donné, Cloudflare maintiendra sa demande habituelle pour "example.css" (le même fichier qu'il a toujours utilisé), et fera à la place une demande complètement nouvelle 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 "example.css" sera mis à jour, cela pourra être changé en "example.css?v=2.2.3" - ou tout autre numéro que vous préférez - afin que Cloudflare puisse de nouveau obtenir la dernière version.