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
[Sommaire CICT] CICT
Vos commentaires sur ce serveur : www@cict.fr