Il est possible de configurer Caching Proxy comme un serveur proxy de mise en cache inversé (configuration par défaut) ou comme un serveur proxy de mise en cache d'acheminement. Lorsqu'il est utilisé par des hôtes de données, Caching Proxy est configuré comme serveur proxy, placé entre Internet et les hôtes de données des entreprises. Lorsqu'il est utilisé par des fournisseurs d'accès à Internet, il est configuré comme serveur proxy d'acheminement, placé entre un client et Internet.
Dans une configuration avec un proxy inversé, les machines Caching Proxy sont situées entre Internet et les hôtes de données de l'entreprise. Fonctionnant comme un serveur de secours, le serveur proxy intercepte les demandes utilisateur émanant d'Internet, les transmet à l'hôte de données approprié, stocke les données renvoyées en mémoire cache et fournit ces données aux utilisateurs via Internet. La mise en mémoire cache permet à Caching Proxy de satisfaire les demandes ultérieures afférentes aux mêmes données, directement depuis la mémoire cache locale, ce qui nécessite bien moins de temps qu'une nouvelle extraction depuis l'hôte de données. Les informations sont placées en mémoire cache selon certains critères, comme leur délai d'expiration, leur taille par rapport à celle du cache et leur délai de mise à jour. Des temps de téléchargement des occurrences trouvées en mémoire cache signifient une meilleure qualité de service pour les clients. La figure 1 illustre cette fonctionnalité de base du Caching Proxy.
Légende : 1—Client 2—Internet 3—Routeur/Passerelle 4—Proxy de mise en cache 5—Mémoire cache 6—Hôte de donnéesDans cette configuration, le serveur proxy (4) intercepte les demandes dont les URL comportent le nom de l'hôte de données (6). Lorsqu'un client (1) demande le fichier X, la demande traverse Internet (2) et pénètre sur le réseau interne de l'entreprise via sa passerelle Internet ( 3). Le serveur proxy intercepte la demande, en génère une nouvelle avec sa propre adresse IP comme adresse d'origine, et envoie la nouvelle demande à l'hôte de données (6).
L'hôte de données renvoie le fichier X au serveur proxy et non directement à l'utilisateur. Si le fichier peut être stocké en mémoire cache, Caching Proxy en stocke une copie dans sa mémoire cache (5) avant de la transmettre à l'utilisateur final. L'exemple le plus évident de données mises en cache concerne les pages Web statiques ; cependant, Caching Proxy permet également de mettre en cache et de fournir des données générées en dynamique par WebSphere Application Server.
Fournir un accès direct à Internet aux utilisateurs finals peut être source d'inefficacité. Tout utilisateur qui récupère un fichier donné à partir d'un serveur Web génère la même quantité de trafic sur votre réseau et via la passerelle Internet que le premier utilisateur ayant récupéré le fichier, même si ce dernier n'a pas été modifié. La solution consiste à installer un Caching Proxy d'acheminement près de la passerelle.
Dans une configuration avec un proxy d'acheminement, les machines Caching Proxy sont situées entre le client et Internet. Caching Proxy achemine la requête d'un client aux hôtes de données situés sur Internet, met en cache les données extraites et les fournit au client.
figure 2 présente la configuration d'un Caching Proxy d'acheminement. Les programmes du navigateur des clients (sur les machines marquées 1) sont configurés pour pour diriger les requêtes vers le proxy de mise en cache d'acheminement (2), lequel est configuré pour intercepter les requêtes. Lorsqu'un utilisateur final demande le fichier X stocké sur l'hôte de données (6), le proxy de mise en cache d'acheminement intercepte la requête, en génère une nouvelle avec sa propre adresse IP comme adresse d'origine et renvoie la nouvelle requête au moyen du routeur de l'entreprise (4) via Internet (5).
Le serveur d'origine renvoie ainsi le fichier X au serveur d'acheminement Caching Proxy et non directement à l'utilisateur final. Si la fonctionnalité de mise en cache du proxy de mise en cache d'acheminement est activée, le proxy de mise en cache détermine si le fichier X est éligible pour la mise en cache en cochant des paramètres dans son en-tête de retour, comme la date d'expiration et une indication signalant si le fichier a été généré de façon dynamique. Si le fichier est susceptible d'être mis en cache, le proxy de mise en cache en stocke une copie dans sa mémoire cache (3) avant de la transmettre à l'utilisateur final. Par défaut, la mise en cache est activée et le proxy de mise en cache d'acheminement utilise un cache mémoire ; vous pouvez toutefois configurer d'autres types de mise en cache.
Pour la première demande du fichier X, le serveur d'acheminement Caching Proxy n'améliore pas beaucoup les performances d'accès à Internet. En fait, pour le premier utilisateur accédant au fichier X, le temps de réponse est probablement plus long que sans le proxy de mise en cache car ce dernier a besoin de temps pour traiter le paquet de demande d'origine et pour rechercher les informations de mise en cache dans l'en-tête du fichier X, à la réception de ce dernier. En revanche, utiliser le proxy d'acheminement présente un intérêt lorsque d'autres utilisateurs demandent par la suite le fichier X. Le proxy vérifie la validité de sa copie cachée du fichier X (pas d'expiration) et récupère le fichier X directement dans le cache, sans acheminer la demande via Internet jusqu'à l'hôte de données.
Même en cas d'expiration d'un fichier demandé, le serveur d'acheminement Caching Proxy ne doit pas nécessairement retourner extraire le fichier de l'hôte de données. Il envoie plutôt un message spécial de vérification d'état à l'hôte de données. Si ce dernier indique que le fichier est inchangé, le proxy peut encore fournir la version cachée à l'utilisateur de qui émane la demande.
Dans ce type de configuration, on parle de serveur proxy d'acheminement car le serveur proxy agit pour le compte des navigateurs, acheminant leurs demandes vers les hôtes de données via Internet. Les avantages dans ce cas sont doubles :
Le proxy de mise en cache peut fonctionner avec plusieurs protocoles de transfert en réseau, notamment HTTP (Hypertext Transfer Protocol, FTP (File Transfer Protocol) et Gopher.
Une variante du Caching Proxy d'acheminement est un Caching Proxy transparent. A ce titre, Caching Proxy exécute la même fonction qu'un Caching Proxy d'acheminement de base, mais sans que le client soit conscient de sa présence. Cette configuration transparente n'est prise en charge que sur les systèmes Linux.
Dans la configuration décrite dans Caching Proxy d'acheminement, chaque navigateur client est configuré de façon distincte de façon à diriger les demandes à un certain Caching Proxy d'acheminement. Gérer une telle configuration peut se révéler peu pratique, notamment lorsque les machines client sont en grand nombre. Caching Proxy prend en charge plusieurs solutions alternatives simplifiant l'administration. Une des possibilités consiste à le configurer comme un proxy transparent, comme décrit dans figure 3. Comme dans le cas d'un proxy d'acheminement classique, le proxy transparent est installé sur une machine près de la passerelle, mais les programmes du navigateur client ne sont pas configurés pour diriger les demandes à un proxy d'acheminement. La présence d'un proxy dans la configuration reste ignorée des clients. Un routeur est configuré pour intercepter les demandes du client et les diriger vers le proxy transparent. Lorsqu'un client utilisant l'une des machines 1 demande le fichier X stocké sur un hôte de données (6), le routeur (2) transmet la demande à Caching Proxy. Caching Proxy génère une nouvelle demande avec sa propre adresse IP comme adresse d'origine et renvoie la nouvelle requête au moyen du routeur (2) via Internet (5). Lorsque le fichier X arrive, Caching Proxy le met en cache s'il est adéquat (remplit les conditions décrites dans Caching Proxy d'acheminement) et le transmet au client demandeur.
Pour les requêtes HTTP, une autre solution possible pour conserver les informations de configuration du proxy sur chaque navigateur consiste à utiliser la fonctionnalité de configuration automatique du proxy qui est disponible dans plusieurs programmes de navigateur, notamment Netscape Navigator versions 2.0 et ultérieures, et Microsoft Internet Explorer versions 4.0 et ultérieures. Dans ce cas, vous créez un ou plusieurs fichiers de configuration automatique de proxy et vous configurez les navigateurs pour qu'ils fassent référence à l'un d'entre eux plutôt qu'aux informations de configuration du proxy locales. Le navigateur remarque automatiquement toute modification apportée au fichier de configuration automatique et adapte son utilisation du proxy en conséquence. Vous éliminez ainsi le besoin de conserver des informations de configuration distinctes sur chaque navigateur, mais en plus vous pouvez réacheminer facilement les demandes en cas d'indisponibilité soudaine d'un serveur proxy.
Une troisième solution consiste à utiliser le mécanisme WPAD (Web Proxy Auto Discovery) disponible sur certains navigateurs, comme Internet Explorer version 5.0 et versions ultérieures. Lorsque vous activez cette fonctionnalité sur le navigateur, ce dernier localise automatiquement un serveur proxy compatible WPAD sur son réseau et y dirige ses requêtes Web. Dans ce cas, il est inutile de conserver des fichiers de configuration de proxy au niveau central. Caching Proxy est compatible WPAD.