Présentation de la mise en cache sur le serveur proxy

La mise en mémoire cache consiste, pour le serveur proxy, à sauvegarder des copies locales des fichiers demandés par les clients afin de les récupérer rapidement dans la mémoire cache lors d'une nouvelle demande.

Caching Proxy est compatible avec le protocole HTTP 1.1, qu'il utilise pour mettre des données en mémoire cache et déterminer si les documents sont à jour.

Ce chapitre présente un certain nombre de fonctions de la mémoire cache du serveur proxy. Les procédures de valeurs adéquates pour ces fonctions seront décrites ultérieurement.

Stockage de la mémoire cache

Le serveur proxy peut stocker la mémoire cache sur une unité physique ou dans la mémoire système. Le type de mémoire cache le mieux adapté à vos besoins dépend des capacités de votre équipement et des performances souhaitées (rapidité ou taille de la mémoire cache). Un cache mémoire est plus rapide qu'un cache disque mais la taille de la mémoire cache est limitée par la quantité de mémoire vive installée sur le serveur proxy. La taille d'un cache disque est limitée par la taille de l'unité de stockage, qui est généralement supérieure à celle de la mémoire vive.

En cas d'utilisation d'un cache disque, Caching Proxy effectue la mise en cache sur un disque de données brutes, ce qui signifie que le serveur proxy écrit directement sur le périphérique indépendamment des protocoles de lecture et d'écriture du système d'exploitation. L'unité de stockage sur laquelle réside un cache disque doit être préparée à l'aide de la commande htcformat. Pour plus d'informations sur la commande htcformat, voirConfiguration de la mise en mémoire cache de base.

Index de la mémoire cache

Qu'il s'agisse d'une mémoire cache ou d'un cache disque, Caching Proxy utilise également de l'espace mémoire système pour stocker l'index de la mémoire cache, ce qui réduit la durée de la recherche de fichiers en mémoire cache.

La structure de répertoires de la mémoire cache de Caching Proxy et les méthodes de recherche employées diffèrent de celles des autres serveurs proxy. Caching Proxy gère dans la mémoire un index contenant des informations sur les fichiers mis en mémoire cache. Les recherches effectuées dans la mémoire vive permettent de localiser et d'extraire les fichiers plus rapidement que celles effectuées sur un disque ou sur tout autre support.

L'index comprend des informations sur les URL, les emplacements en mémoire cache et l'expiration des objets mis en mémoire cache. C'est pour cela que la quantité de mémoire nécessaire à l'index est proportionnelle au nombre d'objets mis en mémoire cache.

Lorsqu'il reçoit une demande d'un client, le proxy recherche l'URL demandée dans l'index de la mémoire cache.

Mise en cache FTP

Lorsque le proxy est configuré pour mettre les demandes en mémoire cache, il peut placer en mémoire cache les demandes de fichiers FTP et HTTP. Toutefois, comme les en-têtes des fichiers FTP ne contiennent pas le même type d'information que les fichiers HTTP, le calcul des dates d'expiration des fichiers FTP est différent de celui des autres fichiers.

Lorsqu'une demande d'extraction de fichier est transmise au serveur FTP, le proxy adresse d'abord une demande LIST au serveur FTP afin d'obtenir des informations sur les répertoires FTP associés. Si le serveur FTP adresse une réponse positive à la demande LIST et indique les informations de répertoire demandées, le proxy crée un en-tête HTTP Last-Modified daté et analysé à partir des informations du répertoire FTP. La fonction de mise en mémoire cache du proxy utilise ensuite l'en-tête Last-Modified, associé au jeu de valeurs de la directive CacheLastModifiedFactor dans le fichier de configuration, afin de déterminer la durée de stockage du fichier FTP.

Pour plus d'informations sur les modalités d'utilisation de l'en-tête Last Modified et de la directive CacheLastModifiedFactor lors de la définition de la durée de stockage d'un fichier en mémoire cache, voir Maintenance des données de la mémoire cache.

Les fichiers FTP extraits à l'aide d'un ID utilisateur spécifique (sans l'établissement d'une connexion anonyme) sont considérés comme des fichiers privés ; ils ne sont pas conservés en mémoire cache.

Mise en cache DNS

Outre la mise en mémoire cache du contenu Web, le serveur proxy effectue une mise en mémoire cache DNS en utilisant le serveur de noms de domaine. Par exemple, quand un client demande une adresse URL à partir de www.myWebsite.com, le proxy demande à son serveur DNS de convertir le nom d'hôte www.myWebsite.com en adresse IP. L'adresse IP est ensuite mise en mémoire cache pour améliorer les temps de réponse lors des demandes ultérieures concernant ce nom hôte. La mise en mémoire cache DNS est automatique et ne peut pas être reconfigurée.

Exclusions de la mémoire cache

Certains fichiers et documents ne sont jamais mis en mémoire cache. Tel est le cas des fichiers suivants :

La définition de filtres de mémoire cache permet de limiter davantage le nombre et la nature des données mises en cache. Par exemple, vous pouvez empêcher le serveur proxy de placer en mémoire cache les fichiers locaux. Pour plus de détails, voir Contrôle du contenu de la mémoire cache.

Gestion de la mémoire cache

La gestion d'une mémoire cache englobe un grand nombre de facteurs. En tant qu'administrateur du serveur, vous pouvez spécifier :

Par ailleurs, il est possible d'apporter certaines modifications à la configuration de la mémoire cache afin d'améliorer les performances générales de Caching Proxy. Pour plus de détails, voir Personnalisation de la mémoire cache du serveur proxy.