Les serveurs caches WWW
Qu'est-ce qu'un « cache » WWW ?
« Cache » est le nom donné en informatique à une entité intermédiaire entre
un client et un serveur, entité qui garde une copie locale des données. Le
but est en général la performance. Le cache répond plus vite que le
serveur s'il a une copie locale des données recherchées.
Dans le contexte du WWW, un serveur cache est un serveur qui reçoit les
demandes de clients WWW (Netscape, Internet Explorer, Mosaic,...) et qui
leur donne les documents demandés (s'ils sont dans le cache) ou va les
demander au « vrai » serveur. Il joue donc dans ce dernier cas un rôle de
mandataire (proxy en anglais). Il joue ce rôle vis-à-vis de
serveurs HTTP, FTP et gopher. Un
dessin l'illustre.
Il est à noter que les clients WWW ont une fonction de cache sur disque
et en mémoire, mais ce cache est personnel. Le cache tel que décrit ici
est partagé par de nombreux utilisateurs, et c'est justement son intérêt.
Pourquoi utiliser un cache WWW ?
Parce que l'utilisation de l'Internet par le WWW est délirante. Si
mille personnes sur Renater veulent voir un document américain, il va
traverser mille fois l'Atlantique. De ce fait les débits baissent et
chacun va attendre. Au contraire, avec le cache, le premier utilisateur
attend, mais les autres ont une réponse quasi-immédiate. En moyenne les
utilisateurs voient un meilleur temps de réponse sur de nombreux documents
et le réseau voit sa charge diminuée.
Le cache pose quand même des problèmes :
Si on garde le document longtemps dans le cache, le client risque de se
voir servir une vieille version. Si on ne le garde pas assez, il y a peu
de chances qu'il serve à un autre client. Des heuristiques permettent de
déterminer la durée de séjour dans le cache. La commande Reload des
clients WWW provoque une recherche à la source par le cache. Certains
documents comme ceux issus d'un script (CGI par exemple) ne sont pas
« cachés ».
Enfin le fonctionnement vis-à-vis des serveurs FTP est légèrement
modifié.
Des serveurs mal configurés ou des scripts mal programmés peuvent dans
de rares cas amener de légers dysfonctionnements. Les concepteurs de
services WWW doivent prendre en compte l'existence de caches sur le réseau.
Dans la pratique, les avantages l'emportent largement sur les inconvénients.
Dès qu'on l'a essayé, on ne peut plus s'en passer.
Des caches qui coopèrent
Lorsque plusieurs caches existent dans différents établissements, ils
peuvent coopérer, c'est-à-dire s'interroger les uns les autres. La
structure la plus efficace est une hiérarchie où des caches
d'établissements sont eux-même clients d'un cache régional, et les caches
régionaux clients d'un cache national. Sur Renater, une telle hiérarchie
de caches est en train de se monter. Le cache national
Renater-cache
fonctionne depuis l'été 96. Il existe déjà des cache nationaux dans
plusieurs pays, par exemple en Allemagne et en Angleterre, et il y a un
projet aux E-U.
Les caches CICT-UPS et ReMiP
Le CICT a mis en place un cache WWW pour le campus de Rangueil (CICT, UPS,
etc.), et un cache régional pour ReMiP.
Voici leur description et mode d'emploi.
Remerciements à Stéphane Bartzmeyer qui a rédigé la documentation du
serveur Renater-cache,
à qui j'ai emprunté quelques explications.
Auteur : Jean-Pierre Gallou
Mis à jour le 04/03/98
CICT
Vos commentaires sur ce serveur :
www@cict.fr