Questions-réponses
Le caching pour accélérer et alléger le réseau
Sept questions pour mieux cerner et comprendre l'intérêt de cette technologie d'accélération et de désengorgement du réseau, destinée à tous les sites Web. (Mercredi 16 octobre 2002)
     
Sur le Web
Web-caching.com
Plus un site Web est visité, plus il est important de trouver des techniques pour délivrer des pages rapidement. Acheter de nouveaux serveurs est une solution efficace, mais onéreuse. Une solution alternative consiste dans le caching des pages. Cette technique, permettant de conserver sous une forme statique - en quelque sorte à portée de main - de l'information potentiellement voulue par l'utilsateur dans le but de la lui fournir plus rapidement quand il la demande, à fait ses preuves et ne saurait être ignorée. Six questions et réponses pour savoir ce qu'il faut "cacher" et comment le faire.

Que recouvre le caching ?
Il s'agit d'abord de stocker des données sur un serveur "proche" d'un visiteur. Lorsqu'un visiteur navigue sur un site, il envoie des requêtes vers un serveur qui peut être très loin (géographiquement) de lui. La requête passe par de nombreux routeurs, ce qui demande un certain temps.

D'autre part, le caching sert également à alléger la charge d'un serveur de pages dynamiques, en répliquant sur un serveur de cache les données statiques produites par les scripts, à intervalles réguliers (tous les quarts d'heure par exemple - en fonction de la fréquence de mise à jour, plus généralement). Ceci n'est pertinent que pour des sites de contenus non actualisés en permanence - mais souvent tout de même -, et non pas des sites transactionnels, bien entendu.

Ainsi, le cache doit également vérifier si la page qu'il va fournir est "fraîche". C'est la condition indispensable pour délivrer l'information. Si ce n'est pas le cas, une nouvelle copie émanant du serveur d'origine doit être demandée.

Quelle est la différence entre un caching navigateur et un caching Web ?
Le caching navigateur concerne uniquement l'utilisateur. A chaque clic de souris, le navigateur peut aller vérifier dans le cache si la page demandée s'y trouve. Si tel est le cas, elle sera automatiquement délivrée au visiteur. La plupart des navigateurs (Explorer et Navigator, par exemple) possèdent cette fonctionnalité. Il est en outre possible de paramétrer le rafraîchissement du cache.

Sinon, la requête sera redirigée vers un serveur local, qui vérifiera également si la réponse à la requête se trouve dans son propre cache (on parle alors de caching proxy), et qui sinon renverra la demande vers un serveur distant, qui vérifiera dans son cache, et ainsi de suite...

Que faut-il mettre en cache ?

Tout information sur le Web n'est pas forcément bonne à mettre en cache. L'information dynamique (dépêches, annonces...) ne gagne pas toujours à figurer dans le cache puisqu'elle le force à avoir un temps de rafraichissement très court, mais selon les besoins, cela ce pratique comme nous l'avons évoqué plus haut.

D'un autre côté, les objets lourds et statiques (a priori non changeants) comme les images gagnent à être placés dans le cache. Une image répétée sur toutes les pages d'un même site (un logo, par exemple) correpond typiquement au genre d'objet qui gagnent à être mis en cache. Plus globalement, les pages fréquemment visitées et peu actualisées ont tout intérêt à figurer dans le cache.

Certaines informations ne peuvent être placées dans un cache. C'est le cas notamment des objets sécurisés ou nécessitant une authentification. Les données en sortie d'un script dans un processus transactionnel (par exemple) ne peuvent pas y figurer non plus, répétons-le.

Quels sont les avantages du caching ?
Cette technique sert à la fois l'utilisateur et le fournisseur. L'utilisateur va accéder à l'information qu'il cherche plus rapidement, d'une part. D'autre part, la technique permet de réduire les aller-retours sur Internet et d'économiser de la bande passante. La qualité de la transmission est également meilleure. Le fait de passer par moins de routeurs diminue le risque de perte de paquets.

Un caching navigateur, par contre, ne procure des avantages qu'à l'utilisateur. Les autres visiteurs n'en bénéficient pas, et le volume du traffic n'est pas affecté.

A quoi faut-il faire attention lorsque l'on "cache" du contenu ?
Dans le cas d'un caching proxy, il se peut que le cache délivre du contenu qui n'est plus à jour. Il est important de bien configurer le serveur pour obtenir un temps de rafraîchissement adéquat à l'information délivrée sur la page.

Autre problème, il est impossible de connaître l'identité d'un navigateur lorsqu'il se connecte sur un site à l'aide d'un cache, ou d'établir des statistiques de visites fiables. Pour y remédier, il est possible de laisser sur la page un élément invisible minuscule (donc très léger) non inclus dans le cache. Cet élément permettra de savoir par exemple combien de personnes accèdent à cette page.

Pour quels volumes de contenus le caching est-il pertinent ?
Dans la perspective du désengorgement de la bande passante, le caching doit s'adresser à tout le monde. L'impact de cette technologie est évidemment plus intéressant sur des gros réseaux utilisés par beaucoup d'utilisateurs. Mais ses avantages peuvent aussi se révéler intéressants pour des réseaux s'adressant à un nombre d'utilisateurs limité (réseaux locaux par exemple). La règle (de bon sens): plus ces utilisateurs utilisent les mêmes sources d'informations, plus le caching sera efficace...

De plus, il est faux de croire qu'une connexion à haut débit, du côté du client ou du serveur, règle les problèmes de bande passante. Si elle permet de gagner de la rapidité lors d'un aller-retour requête-résultat, elle ne diminue aucunement le nombre d'aller-retours. Plus le nombre d'objets et le nombre d'endroits où ils se trouvent sont importants, plus le navigateur devra effectuer d'aller-retours. Plus il y de routeurs sur le chemin, et plus les aller-retours seront longs. Et plus ces derniers sont nombreux, plus l'utilisateur attendra pour récupérer l'information demandée.

Quelles solutions existent sur le marché?
Il existe un nombre incalculable de solutions sur le marché, supportant divers protocoles (HTTP, FTP, GOPHER...). Du côté de l'open source, il est intéressant de savoir que le W3C (World Wide Web Consortium) en propose un, développé par le serveur HTTP du CERN (Centre Européen pour la Recherche Nucléaire). Le seveur Apache, le plus utilisé sur le Web, comprend également un module de caching.

Sur le Web
Web-caching.com
D'une manière générale, la plupart des acteurs importants sur le marché des serveurs agrémentent leurs produits d'une fonctionnalité de caching. Le Cache Engine de Cisco se positionne à côté de ses routeurs et reçoit des requêtes HTTP redirigées de manière transparente. Microsoft propose son serveur ISA (Internet Security and Acceleration), qui incorpore la fonction de caching. Le Websphere Edge Server d'IBM supporte le caching et le filtrage de contenu. Et la liste n'est pas exhaustive.
[Serge Descombes, JDNet]
 
Accueil | Haut de page
 
 

  Nouvelles offres d'emploi   sur Emploi Center
Auralog - Tellmemore | Publicis Modem | L'Internaute / Journal du Net / Copainsdavant | Isobar | MEDIASTAY

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Toutes nos newsletters