Plateforme Edge Cloud de Fastly

Solutions numériques innovantes

Qu’est-ce que la mise en cache ?

Un cache est un emplacement qui stocke temporairement des données pour une récupération plus rapide lorsqu’un élément doit y accéder. La mise en cache désigne le processus de stockage de ces données. Vous avez peut-être aussi entendu le terme cache utilisé dans des contextes non techniques, comme un endroit où stocker quelque chose par commodité. Par exemple, les campeurs et les randonneurs peuvent mettre en cache des réserves de nourriture le long d’un sentier. Mais examinons de plus près ce que signifie la mise en cache en ligne.

Dans un monde parfait, un utilisateur visitant votre site web aurait toutes les ressources de données nécessaires pour afficher rapidement le site stockées localement. Cependant, les ressources sont situées ailleurs, peut-être dans un data center ou un service cloud, et leur récupération a un coût. Alors que l’utilisateur paie en latence - le temps nécessaire pour générer et charger les ressources -, vous payez un coût financier. Les frais comprennent non seulement le coût de l’hébergement de votre contenu, mais couvrent également ce que l’on appelle les frais de sortie de données ; les frais liés au déplacement de ce contenu hors du stockage lorsqu’il est demandé par des visiteurs. Plus votre site web reçoit de trafic, plus vous devez payer pour livrer du contenu en réponse à des requêtes, dont beaucoup peuvent être des doublons.

C’est là que la mise en cache entre en jeu, elle vous permet de stocker des copies de votre contenu pour accélérer sa distribution, tout en utilisant moins de ressources.

Comment fonctionne la mise en cache

Pour comprendre comment fonctionne la mise en cache, nous devons d’abord comprendre comment fonctionnent les requêtes et les réponse HTTP. Lorsqu’un utilisateur clique sur un lien ou saisit l’URL de votre site web dans sa barre d’adresse, une requête est envoyée depuis son navigateur (le client) vers l’emplacement où le contenu se trouve (votre serveur d’origine). Le serveur d’origine traite ensuite la requête et envoie une réponse au client.

Diagramme de mise en cache

Bien que cela puisse sembler se produire instantanément, en réalité, il faut du temps au serveur d’origine pour traiter la requête, générer la réponse, et l’envoyer au client. De plus, de nombreuses ressources différentes sont nécessaires pour afficher votre site web, ce qui signifie que plusieurs requêtes doivent être envoyées pour toutes les différentes données qui composent votre site, y compris les images, les pages web HTML, et les fichiers CSS.

À ce stade, le cache local de l’utilisateur entre en jeu. Son navigateur peut mettre en cache certaines ressources statiques, comme l’image d’en-tête avec votre logo et la feuille de style du site, sur son dispositif afin d’améliorer les performances la prochaine fois qu’il accède à votre site. Cependant, ce type de cache n’est utile que pour cet utilisateur.

Si vous souhaitez mettre en cache des ressources pour chaque utilisateur visitant votre site, vous devriez envisager un cache distant comme un proxy inverse. 

Quels sont les différents types de mise en cache ?

Il existe plusieurs types de mise en cache utilisés à différents niveaux de l’infrastructure Internet, chacun ayant un objectif spécifique. Explorons les différents types de mise en cache, et voyons comment ils contribuent à une expérience de navigation plus fluide.

1. Mise en cache CDN

La mise en cache du Content Delivery Network (Content Delivery Network) réduit la latence en vous permettant de livrer votre contenu depuis un emplacement plus proche de l’utilisateur, ce qui améliore considérablement les temps de chargement. Elle fonctionne en stockant des copies du contenu sur des serveurs périphériques répartis dans le monde entier. Dès qu’un utilisateur demande un contenu, le CDN le lui diffuse depuis le serveur périphérique le plus proche au lieu d’attendre la réponse de votre serveur d’origine. La charge de travail sur le serveur d’origine s’en trouve réduite et cela permet de prendre en charge un volume de trafic plus important en répartissant les requêtes sur plusieurs serveurs.

2. Mise en cache côté serveur

Contrairement à la mise en cache du Content Delivery Network, la mise en cache côté serveur stocke des copies de données prêtes à l’emploi sur le serveur d’origine, évitant au navigateur de l’utilisateur d’avoir à demander à nouveau chaque élément de contenu à chaque chargement de page. Cette capacité à stocker des objets de données réutilisables minimise le nombre de requêtes de base de données, et améliore les performances de votre site. La mise en cache côté serveur se présente sous plusieurs formes, notamment :

  • Mise en cache des pages : Conserve une copie des pages HTML

  • Mise en cache des objets : conserve les objets de données réutilisables

  • Mise en cache des opcodes : Stocke du code PHP précompilé

  • Mise en cache de base de données : Met en cache les résultats des requêtes de base de données

La mise en cache côté serveur est également utilisée pour bien plus que le simple contenu, avec des copies de données allant de pages web complètes à des requêtes de base de données individuelles. 

3. Mise en cache DNS

La résolution DNS (Domain Name System) est le processus que les navigateur web utilisent pour traduire un nom de domaine, tel que www.Fastly.com, en Adresse IP spécifique du serveur d’origine hébergeant le site web. Les navigateur web utilisent la mise en cache DNS pour accélérer ce processus, car elle stocke localement les résultats des requêtes DNS, ce qui permet de résoudre plus rapidement les requêtes lors de futures visites. Essentiellement, avant de vérifier les serveur DNS mondiaux, votre navigateur vérifie son propre cache DNS pour voir s’il connaît déjà la bonne Adresse IP. Cela réduit considérablement le temps nécessaire pour résoudre les noms de domaine, accélérant ainsi l’accès au site web. 

Contrairement aux deux types de mise en cache précédents que nous avons abordés, la mise en cache DNS est localisée au niveau des utilisateurs, elle n’est pas basée sur le serveur. Elle est également utilisée spécifiquement pour résoudre les noms de domaine, au lieu de livrer du contenu ou de rationaliser les requêtes de base de données. 

4. Mise en cache du contenu

La mise en cache de contenu est une catégorie de mise en cache plus générale qui désigne la duplication et le stockage de plusieurs types de contenu web afin de servir les utilisateur plus efficacement. La mise en cache de contenu s’effectue au niveau du serveur (comme pour la mise en cache côté serveur et la mise en cache du Content Delivery Network). Cependant, cela peut se produire à divers autres niveaux, notamment :

  • Mise en cache du navigateur : Stocke le contenu web localement sur le dispositif de l’utilisateur, afin de permettre un rechargement plus rapide lorsque le site est consulté ultérieurement.

  • Mise en cache par proxy : Le contenu web est stocké sur des serveurs intermédiaires (proxy) situés entre l’utilisateur et le serveur d’origine sur le réseau. 

  • Mise en cache de la passerelle : Stocke une copie des données au niveau des passerelles au sein du réseau d’une organisation. 

La mise en cache du contenu est très variable, se produisant à plusieurs niveaux et couvrant un large éventail de types de contenu, notamment des images, des vidéos et des pages HTML complètes. En rendant les copies de contenu plus facilement accessibles, la mise en cache du contenu offre aux utilisateurs une expérience de navigation plus rapide et plus fluide, permettant aux sites de se charger plus efficacement et réduisant l’utilisation globale de la bande passante sur le réseau. 

Content Delivery Network et mise en cache

Comme la mise en cache fonctionne en conservant des copies des données à portée de main pour une utilisation ultérieure, les systèmes réseau doivent savoir que ces copies existent déjà. Lorsque le contenu est trouvé dans le cache, un « taux de connexion au cache » se produit. Les taux de connexion au cache déclenchent automatiquement la livraison du contenu directement depuis le serveur de périphérie vers l’utilisateur, ce qui entraîne des temps de chargement plus rapides. Un « taux de connexion au cache » désigne le pourcentage de fois où une requête aboutit à un taux de connexion au cache. 

Les Content Delivery Network présentent généralement des taux de connexion au cache plus élevés que les autres systèmes de cache côté serveur. Cela s’explique parce qu’ils déploient de nombreux serveurs de périphérie à l’échelle mondiale, stratégiquement positionnés à proximité des utilisateurs finaux. En raison de la vaste base d’utilisateurs que les Content Delivery Network desservent généralement, il est très probable qu’un utilisateur situé dans une région géographique similaire ait déjà entraîné le stockage d’une copie des données sur le serveur de périphérie de cette région. 

Cependant, un taux de connexion au cache n’est pas toujours le résultat d’une requête utilisateur. Il arrive que le serveur ne puisse pas livrer le contenu depuis la périphérie et doive, par conséquent, le récupérer depuis le serveur d’origine. C’est ce qu’on appelle un « échec de cache », et cela peut se produire pour diverses raisons :

  • Première requête (cache à froid)

  • Invalidation ou purge du cache

  • Limites de capacité

  • Mises à jour du contenu

Un échec de cache se produit également en raison d’un contenu expiré. Le contenu est mis en cache sur un Content Delivery Network selon une valeur de Temps de vie (TTL). Lorsque cette valeur de temps expire, le contenu est supprimé du cache. Les développeurs et les ingénieurs réseau définissent les valeurs de Temps de vie (TTL) en fonction du type de contenu mis en cache. Le contenu dynamique, comme les articles d’actualité, a tendance à avoir une valeur de Temps de vie (TTL) courte, de quelques secondes à quelques minutes. En revanche, les cache de Content Delivery Network ont tendance à avoir des valeurs de Temps de vie (TTL) plus longues, de plusieurs jours à plusieurs semaines, car le contenu, comme les images, les vidéos, les CSS et les données JavaScript, est statique. 

Devriez-vous vider votre cache ?

Vider votre cache peut être bénéfique dans certaines situations, mais ce n’est pas toujours nécessaire ni recommandé. Ci-dessous, nous avons mis en évidence certaines des raisons les plus courantes pour lesquelles vous devriez vider votre cache. 

Libérez du stockage

En local, les données en cache peuvent s’accumuler au fil du temps et occuper trop d’espace de stockage sur votre système. Par exemple, cela peut être particulièrement problématique pour les dispositifs personnels comme les ordinateurs portables ou les netbooks qui disposent d’une capacité de stockage limitée. En vidant le cache, vous pouvez souvent libérer un espace de stockage précieux, ce qui contribue à rendre votre dispositif plus fluide. 

Résolution des problèmes de performances

Les données en cache peuvent être corrompues ou obsolètes au fil du temps. Cela peut ralentir le chargement des sites web ou provoquer des dysfonctionnements, vous empêchant d’accéder à des fonctions clés. Vous pouvez souvent résoudre ces problèmes et supprimer les fichiers corrompus ou obsolètes en vidant votre cache. 

Améliorer la confidentialité

Les données en cache peuvent inclure des informations sensibles telles que des identifiants de connexion, l’historique de navigation, ou d’autres données privées. Vider votre cache est un moyen rapide de protéger ces informations privées en les supprimant de votre système. 

Cependant, il existe également des situations où vider votre cache peut ne pas être nécessaire ni conseillé. 

1. Perte de données

Lorsqu’un utilisateur vide son cache, il supprime les données, ce qui aide les sites web et les applications à se charger plus rapidement. L’inconvénient de vider le cache est que les sites web et les applications devront recharger ces ressources depuis le début. Cela peut entraîner des temps de chargement plus lents jusqu’à ce que le cache soit reconstruit. 

2. Correctif temporaire

Vider un cache peut résoudre certains problèmes de performances, mais la solution n’est souvent que temporaire. Si le problème sous-jacent n’est pas résolu, les problèmes de performances peuvent réapparaître une fois le cache reconstruit. Il est essentiel d’identifier et de traiter la cause profonde pour parvenir à une solution à long terme. 

3. Perte des avantages en matière de performances

L’un des principaux avantages de la mise en cache est l’amélioration des performances. La suppression des données de votre cache entraîne la perte de cette valeur ajoutée. 

Comment Fastly utilise-t-elle la mise en cache ?

Fastly utilise la mise en cache dans son Content Delivery Network pour accélérer la distribution de votre contenu auprès de votre audience. En stockant des copies exactes de votre contenu sur nos serveurs dans le monde entier, nous réduisons la latence et la charge des serveurs afin de garantir à vos utilisateurs l’accès le plus rapide depuis le serveur le plus proche. 

Les fonctionnalités de mise en cache de Fastly incluent Instant Purge™ pour des mises à jour rapides du contenu et des règles de mise en cache personnalisables. Notre approche améliore l’expérience utilisateur avec un accès plus rapide au contenu, tout en réduisant la bande passante et les frais de sortie de données.

En savoir plus sur la mise en cache avec les Content Delivery Network

En savoir plus

Prêt à commencer ?

Contactez-nous dès aujourd’hui