Méthode de mise en cache alternative pour .htaccess. Qu'est-ce que le cache du navigateur

Apprenez-en davantage sur le cache SharePoint BLOB, le cache de sortie de page et le cache d’objets.

Microsoft SharePoint Server 2010 peut être utilisé pour créer diverses solutions commerciales, depuis les portails de collaboration et les archives d'enregistrement jusqu'aux sites Internet. Quelle que soit l'option que vous choisirez, vous serez toujours intéressé par la rapidité acceptable de la solution, et ici, comprendre les principes du cache ne sera pas superflu. La tâche principale du cache est d'assurer un affichage plus rapide de votre portail aux utilisateurs finaux. Mais chaque médaille a deux faces, vous devez donc connaître à la fois les avantages et les inconvénients des différents types de cache.

Dans cet article, nous parlerons de trois types de cache. Chacun d'eux possède des fonctionnalités uniques pour aider votre serveur SharePoint à se développer. Cependant, le cache n'est pas une panacée : chaque type de cache comporte ses propres compromis, et il est loin d'être certain que tous les types de cache conviendront à votre scénario spécifique. Activation inconsidérée du cache sans paramètres corrects, ne conduira probablement pas à l’amélioration des performances attendue.

Toute installation de SharePoint Server consiste en une instance de Microsoft serveur SQL et au moins un serveur Web Front-End. Lorsque les utilisateurs demandent des données à SharePoint Server (par exemple, une page ou un document), le serveur WFE reçoit toutes les données nécessaires de SQL et traite la demande de l'utilisateur en fonction de celles-ci. Bien que cela garantisse que l'utilisateur reçoive les informations les plus récentes, cette situation entraîne une augmentation du trafic entre les serveurs SQL et WFE, ce qui affecte à son tour la vitesse de l'utilisateur final.

Le cache SharePoint Server s'exécute sur des serveurs Web Front-End, chaque type de cache stocke une copie locale des données afin, dans la mesure du possible, de servir les clients utilisant le cache local, réduisant ainsi la quantité de données transférées depuis le serveur SQL et la charge sur son propres processeurs.

Cache BLOB.

Le cache BLOB réduit la charge sur SQL Server en stockant le contenu des fichiers demandés (principalement des parties de la page comme JavaScript, CSS et images) sur les disques durs du serveur WFE. Lorsqu'une nouvelle requête arrive pour un fichier déjà mis en cache, le cache BLOB renvoie le fichier à partir du disque au lieu d'appeler SQL Server.

Lorsque vous développez des sites Web SharePoint, il existe plusieurs emplacements pour stocker le contenu des pages. Ils peuvent être stockés sur système de fichiers Serveur WFE (généralement dans le répertoire _layouts) ou dans la bibliothèque SharePoint. Les fichiers stockés dans le répertoire _layouts peuvent être lus assez rapidement à partir du disque, mais si les fichiers doivent être mis à jour, l'administrateur doit les modifier sur chaque serveur WFE. Le stockage dans une bibliothèque SharePoint présente des avantages, car non seulement les administrateurs de batterie de serveurs peuvent ajouter et mettre à jour du contenu, mais également les utilisateurs. Mais comme tout ce qui est stocké dans la bibliothèque est en SQL, et en extrayant les données de SQL, la vitesse d'obtention sera moindre. Ainsi, lors du stockage d'un fichier dans SharePoint et de l'utilisation d'un cache BLOB, l'accès au contenu est assuré rapidement et il existe la possibilité d'une gestion centralisée.

Mais il y a aussi des nuances. Lors de l'ajout d'un nouveau fichier, il envoie cinq fois plus de requêtes au serveur SQL que dans une situation où le cache BLOB est désactivé. Ces appels supplémentaires récupèrent les informations d'autorisation et d'autres métadonnées pour garantir un fonctionnement sûr et fiable du cache. De plus, pour éviter de renvoyer du contenu obsolète au client, le cache BLOB supprimera les fichiers du cache s'il existe une possibilité qu'ils deviennent obsolètes. Naturellement, après cela, le fichier sera remis en cache, ce qui affectera à nouveau les appels à SQL.

En plus de réduire les accès au serveur SQL, le cache BLOB contribue à réduire le temps de rechargement des pages en ajoutant des en-têtes de contrôle à la réponse HTTP pour les fichiers qu'il sert. Ces en-têtes indiquent au navigateur de l'utilisateur de stocker ces fichiers dans le cache du navigateur. Lorsque le navigateur a besoin de l'un des fichiers mis en cache, il peut utiliser ce cache au lieu d'accéder à SharePoint Server. Cela entraîne une réduction significative des requêtes HTTP et du temps de chargement des pages.

Comme déjà mentionné, le cache BLOB est particulièrement utile lors de la mise en cache de fichiers multimédia volumineux. SharePoint lui-même est optimisé pour travailler avec de petits fichiers. Il peut gérer des fichiers plus petits Taille du morceau de lecture du fichier (100 Ko) par requête et fichiers jusqu'à 5 Mo LargeFileChunkSize servi directement à partir de SQL sans mise en mémoire tampon de disque avec une faible latence. SharePoint met en mémoire tampon les fichiers de plus de 5 Mo sur le disque du serveur WFE avant de les renvoyer à l'utilisateur. Cela économise de la mémoire, mais affecte le délai de retour. Le cache BLOB peut réduire la latence dans cette situation. Lorsqu'un fichier est mis en cache dans un BLOB, il est renvoyé aussi rapidement que s'il se trouvait directement sur IIS.

Un autre avantage du cache BLOB est qu'il vous permet de demander HTTP une partie d'un fichier au lieu de demander le fichier entier. Par exemple, si le navigateur n'a besoin que de 1 Mo d'un fichier de 10 Mo, il peut faire une requête et n'obtenir que 1 Mo du cache. Lorsque le cache BLOB est désactivé, SharePoint Server ignore ces requêtes (dans la documentation anglaise, elles sont appelées requêtes de plage HTTP) et renvoie la taille complète du fichier demandé. Il s'avère que le cache BLOB augmente les performances du réseau en minimisant la charge du réseau.

Les lecteurs multimédias clients bénéficieront le plus de ces requêtes de plage HTTP partielles. Peu importe qu'il s'agisse de Windows Media Player ou de Silverlight intégré à une page Web, lorsque vous déplacez le curseur de la vidéo vers l'avant, le cache BLOB renverra la partie requise du fichier sans la télécharger complètement sur le client.

Architecture et disposition logiques.

Le cache BLOB s'exécute sur chaque serveur WFE de la batterie. Plus précisément, chaque application web et chaque serveur virtuel Nous avons notre propre cache BLOB. Dans ce cas, un serveur virtuel signifie site Web IIS, mais dans SharePoint Server, en règle générale, chaque application Web est associée à un serveur virtuel. Une seule instance de cache BLOB peut être exécutée sur un serveur virtuel à la fois. Cela signifie que le cache BLOB ne peut pas être utilisé avec Web Garden. (Un jardin Web est un pool d'applications qui utilise plusieurs processus de requête pour traiter les requêtes, plusieurs processus w3wp.exe)

Si l'application Web SharePoint est étendue et qu'elle est généralement étendue lorsqu'elle est utilisée différentes façons Authentification pour un portail, le deuxième serveur virtuel sera géré par sa propre instance du cache BLOB. Par conséquent, le cache BLOB est activé pour chaque zone séparément. Par exemple, les données demandées par les utilisateurs internes sont mises en cache, mais les données demandées par les utilisateurs externes (via une URL externe) ne sont pas mises en cache. Et bien que le contenu fourni aux utilisateurs externes et internes soit identique, la présence de deux instances de cache ne peut être évitée.

Mécanisme de remplissage du cache.

Les fichiers portant certaines extensions se retrouvent dans le cache BLOB à la demande des utilisateurs. La liste d'extensions est personnalisable et peut être configurée pour des tâches spécifiques. Lors de l’extraction d’un fichier pour la première fois à partir du cache BLOB, les petits fichiers peuvent subir un délai légèrement plus long qu’une extraction SharePoint classique. D'un autre côté, les fichiers volumineux sont servis plus rapidement grâce à l'optimisation du cache BLOB effectuée. Le fichier commence à être mis en cache lorsque les premiers octets sont lus à partir de SQL Server. Les données sont renvoyées au client, tandis que le reste continue d'être chargé depuis le serveur de base de données. Naturellement, cela n'est vrai que pour la première requête, puisque les fois suivantes, les données sont servies directement à partir du cache BLOB.

Le cache BLOB peut gérer plusieurs requêtes pour un seul fichier en rendant les données du cache disponibles pour toutes les requêtes. Cela se produit même si le fichier n'a pas encore été complètement récupéré de SQL Server. Par exemple, un lien vers un rapport vidéo (500 Mo) stocké sur SharePoint Server est envoyé à e-mail employés de l'entreprise. Si un grand nombre d'utilisateurs cliquent sur le lien en même temps, alors avec le cache désactivé, de nombreuses requêtes seront adressées à SQL Server. (un pour chaque utilisateur) Il n'est pas difficile de deviner comment cela affectera les performances. Avec le cache activé, la vidéo sera reçue de SQL une fois par chaque serveur WFE, et même si elle n'a pas le temps d'être complètement mise en cache, elle sera utilisée pour répondre à toutes les requêtes. La conclusion s'impose d'elle-même : le cache BLOB est nécessaire pour servir des fichiers volumineux sur le serveur SharePoint.

Stockage des données et taille du cache disque.

Étant donné que vous ne devez modifier aucun des fichiers de cache manuellement, il est utile de comprendre la structure du stockage des données du cache BLOB sur le disque, du moins d'un point de vue théorique. Le cache BLOB stocke ses fichiers sur disque dans une structure qui reflète la structure de votre portail. Par exemple, un fichier sur le portail avec l'URL http://contoso/sites/publishing/documents/somefile.jpg sera stocké sur le disque approximativement au chemin suivant c:\BlobCache\14\11111111\AB25499AF39572\sites\publishing \documents\somefile-1238DEF8097AB .jpg. Ce chemin contient des parties aléatoires de la chaîne, ceci est fait pour éviter l'écrasement ancienne version le fichier est plus récent car ancien fichier pour le moment, il peut encore être utilisé. Le nom de l'hôte où se trouve le fichier est remplacé dans le lien par une chaîne unique, ce qui évite les conflits de mise en cache entre deux fichiers avec des adresses telles que http://contoso/images/logo.jpg et http://northwinds/images/ logo.jpg.

En salle d'opération Système Windows Le chemin du fichier est limité à 260 caractères. Étant donné que le cache BLOB ajoute des lignes uniques supplémentaires aux chemins des fichiers de cache, il est fort possible que lors de l'écriture d'un fichier sur le disque, cette limite soit dépassée. Par conséquent, vous devez essayer d’éviter les URL trop longues dans votre portail SharePoint. Si vous suivez la recommandation, pour une mise en cache normale des fichiers, vous ne devez pas créer de liens sur le portail dépassant 160 caractères.

En plus de l'espace disque, le cache BLOB nécessite une petite quantité de RAM pour conserver un index des fichiers sur le disque. Chaque entrée d'index utilise environ 800 octets de mémoire. Dans la plupart des cas, la mémoire consommée par le cache BLOB ne représente qu'une petite partie de la mémoire totale consommée par SharePoint. Toutefois, si le cache BLOB doit stocker des centaines de milliers de fichiers, les besoins en mémoire devront alors être planifiés en tenant compte de ce qui précède.

Persistance du cache BLOB lors du redémarrage du pool d'applications.

Le cache BLOB est le seul cache persistant, ce qui signifie qu'il survivra aux redémarrages ou aux arrêts du pool d'applications IIS. Cela se produit car l'index est périodiquement écrit sur le disque. Un index sérialisé représente environ un tiers de la taille d’un index en mémoire. Comme toutes les opérations d'E/S, la taille de l'index affecte la durée de la sérialisation et de la désérialisation. Un très grand cache BLOB contient des centaines de milliers d'éléments, le processus de réécriture dans l'index peut donc prendre plus d'une minute. Pendant le processus de sérialisation, de nouveaux éléments ne peuvent pas être ajoutés au cache. Cela signifie que si des demandes sont reçues pour des fichiers qui ne sont pas encore dans le cache, le client devra attendre la fin du processus de sérialisation. Si l'index est extrêmement volumineux (millions d'objets), le temps de sérialisation peut dépasser le délai d'expiration de la demande client et la demande sera rejetée.

Mécanisme de vérification du cache.

Le cache BLOB nettoie les fichiers obsolètes mis en cache en interrogeant SharePoint Server pour les modifications. L'intervalle d'interrogation par défaut est de cinq secondes, mais ce paramètre peut être configuré. En fait, le fichier est supprimé ultérieurement (cet intervalle est également configurable), après la désactivation des éventuelles sessions HTTP. Les fichiers obsolètes et supprimés du cache ne sont pas ajoutés automatiquement au cache ; ils le seront la prochaine fois que l'utilisateur demandera le fichier. Lorsque le contenu change sur un site SharePoint, le cache BLOB peut changer assez rapidement. Le tableau suivant présente les opérations sur les fichiers et leur impact sur le cache BLOB.

La taille maximale du cache BLOB est également ajustée pour éviter tout gaspillage inutile. espace libre sur disque. Lorsque la taille totale des fichiers dans le cache dépasse les limites établies, le cache BLOB supprime les fichiers les moins utilisés jusqu'à ce que le poids des fichiers mis en cache tombe à 70 % de la taille autorisée. Ce processus est appelé compactage. Le compactage est un processus assez « coûteux » en termes de performances, cela est dû à une éventuelle mise en cache répétée fichiers supprimés. L'exécution périodique d'un compactage vous permet de vous débarrasser des fichiers « impopulaires » et de libérer de l'espace pour les fichiers les plus fréquemment utilisés. Si le compactage se produit fréquemment, cela indique uniquement un manque d'espace de cache, vous pouvez voir la fréquence de cette opération à l'aide du compteur « Nombre total de compactages de cache » dans le groupe SharePoint Disk-Based Cache. Fournir un espace supplémentaire pour un compactage fréquent est bonne décision, dans des conditions idéales, la taille du cache devrait être suffisante pour répondre à toutes les requêtes courantes.

Une autre façon de supprimer les fichiers mis en cache consiste à réinitialiser le cache. Lorsque le cache est réinitialisé, un nouveau dossier est créé, mais l'ancien cache reste. Cela permet de compléter les requêtes existantes sur l'ancien cache. L'ancien cache est supprimé plus tard après un certain temps. (intervalle configurable) Le cache peut être réinitialisé pour plusieurs raisons : si l'index ne peut pas être désérialisé correctement au démarrage, la politique utilisateur de l'application web a changé, la base de données de contenu ne peut pas être lue. Le cache peut également être vidé manuellement en appelant la fonction Microsoft.SharePoint.Publishing.PublishingCache.FlushBlobCache() à partir de PowerShell.

Authentification et cache BLOB.

Le cache BLOB est optimisé pour le retour de fichiers anonymes. Lorsqu'un fichier accessible de manière anonyme est demandé, le cache BLOB le renvoie avant que l'authentification ne soit tentée.

Les bénéfices de ce principe de fonctionnement peuvent être obtenus dans deux cas.

1. L'accès anonyme au site est autorisé

2. Les fichiers fréquemment demandés sont stockés dans des bibliothèques pour lesquelles l'option est activée AllowEveryoneViewItems.

Lors de la création d'un portail basé sur le modèle de portail de publication, deux bibliothèques sont créées avec le jeu de paramètres AllowEveryoneViewItems. Il s’agit des bibliothèques « Images » et « Site Collection Images ». Dans tous les cas, même si l'accès anonyme n'est pas utilisé, le cache BLOB fonctionnera, mais le serveur WFE devra contacter le serveur SQL pour vérifier les autorisations des utilisateurs. (LCA)

À suivre….

MCT/MVP Ilya Rud

Basé sur le document « Présentation des caches du serveur SharePoint »

Si, après la mise à jour de la configuration, vos formulaires flottent, le rapport cesse de fonctionner et des fenêtres d'erreur apparaissent, le problème peut très probablement être résolu en vidant le cache. Nous allons vous dire comment.

Qu’est-ce que le cache ?

Le programme 1C:Enterprise est créé de telle manière qu'au cours de son travail, il s'efforce constamment d'optimiser la vitesse des opérations. A cet effet, un « cache » est créé sur l'ordinateur de l'utilisateur, qui stocke les informations fréquemment utilisées, par exemple : l'emplacement et la forme des fenêtres, les données du service utilisateur, les paramètres de sélection, les polices, etc.

La mise en cache vous permet de réduire le nombre d'appels vers le serveur et, ainsi, . Ce mécanisme permet de gagner du temps, mais comporte également un certain nombre de problèmes.

Si, après la mise à jour de la configuration, vos formulaires flottent, le rapport cesse de fonctionner et des fenêtres d'erreur apparaissent, le problème peut très probablement être résolu en vidant le cache.

Comment vider le cache ?

Il existe deux manières principales de vider le cache.

1. Lancement de la base de données 1C à l'aide du paramètre « /ClearCache »

Cette méthode est très simple. Dans la fenêtre de sélection de l'infobase, sélectionnez celle dont vous souhaitez vider le cache. Cliquez sur le bouton "Modifier".

Dans la dernière fenêtre Modifier l'infobase, définissez le paramètre de lancement « /ClearCache ». Cliquez sur "Terminer" et lancez l'infobase.

À la suite des étapes ci-dessus, le cache des requêtes client-serveur sera vidé. Par conséquent, si le problème provenait du cache de métadonnées local, cette méthode de suppression du cache ne fonctionnera pas. Lors de l'utilisation de cette méthode, il est important de comprendre que le dossier des fichiers temporaires sera « dissocié » de l'infobase, mais Pas sera supprimé de votre ordinateur.

2. Vider manuellement le cache 1C

Pour supprimer manuellement les fichiers de cache, vous devez rechercher les dossiers dans lesquels le cache est stocké. Pour systèmes d'exploitation Les fichiers temporaires Win7 et supérieurs sont stockés dans :

  • C:\Utilisateurs\Nom d'utilisateur\AppData\Roaming\1C Et C:\Utilisateurs\Nom d'utilisateur\AppData\Local\1C dans des dossiers commençant par "1cv8".
  • Sous Windows XP, dans le dossier de l'utilisateur à l'adresse Paramètres locaux\Données d'application\1C\.
  • Si le dossier AppData n'est pas visible, vous devez alors configurer la visibilité des dossiers cachés.

La figure ci-dessous montre à quoi ressemblent les fichiers de cache : des dossiers avec des noms longs et peu clairs. Dans notre cas, il n'y a qu'un seul fichier.

Pour vider le cache, vous devez supprimer ces dossiers.

Important! Vous ne pouvez supprimer des dossiers que lorsque les processus de travail avec 1C:Enterprise sont terminés.

3. Vider le cache dans 1C sur un serveur ou le PC de l'utilisateur à l'aide de scripts prêts à l'emploi

Sur Internet, vous pouvez trouver des scripts prêts à l'emploi pour nettoyer les fichiers temporaires 1C. L'utilisation de tels scripts peut entraîner des conséquences imprévisibles, c'est pourquoi elle est recommandée uniquement aux administrateurs système et au personnel d'assistance technique.

Cette méthode aidera à vider le cache 1C sur le client et le serveur. Pour ce faire, vous aurez besoin d'accéder aux dossiers du serveur correspondants

4. Supplémentaire

Si après avoir utilisé les méthodes ci-dessus pour vider le cache, une erreur se produit, par exemple « Format de stockage de données invalide", est toujours enregistré, il est recommandé d'arrêter et de nettoyer manuellement le dossier reg_1541/SNCCNTX. Il se trouve sur l'ordinateur du serveur central 1C:Enterprise dans l'annuaire<рабочий каталог кластера> / <идентификатор информационной базы>.

Par exemple:

Attention, tout ce qui se trouve dans ce dossier ne peut pas être nettoyé. Je vais lister ce qui peut être nettoyé :

  • 1CV8Reg.lst – registre de cluster (il stocke une liste des bases d'informations enregistrées, des serveurs et processus fonctionnels, la correspondance entre le cluster et le gestionnaire supplémentaire et une liste d'administrateurs.)
  • srvribrg.lst – liste des clusters (clusters enregistrés et administrateurs du serveur central)
  • 1cv8ftxt – données de recherche en texte intégral. Ils se trouvent sur le serveur central 1c : répertoire de travail du cluster - identifiant de l'infobase
  • 1Cv8Log – journal d'enregistrement de la base de données *.lgp et *.lgf.

Il est important de garder à l'esprit qu'après avoir vidé le cache, le lancement de 1C ralentira un peu.

Photos, nous avons appris que la mise en cache et RAM jouent un rôle clé dans l’évolutivité et la performance du site.

Le site peut stocker des données pour accélérer le traitement des demandes ultérieures à quatre niveaux :

  • client;
  • réseau;
  • serveur;
  • niveau applicatif.

Différentes pages d'un site Web partagent souvent les mêmes ressources. L'utilisateur doit réutiliser les ressources lors de la navigation. Les images, les scripts et les styles peuvent être mis en cache pendant des mois, et la page du document elle-même peut être mise en cache pendant quelques minutes dans le navigateur client.

Cache au niveau du client

Les en-têtes HTTP sont chargés de déterminer si la réponse peut être mise en cache et de déterminer combien de temps les données seront conservées. L'exemple d'en-tête Cache-control suivant spécifie que la réponse peut être mise en cache pendant 7 jours. Le navigateur renverra la demande de stockage des données si la période de stockage expire ou si l'utilisateur actualise délibérément la page.

Une requête et une réponse qui peuvent être mises en cache pendant 604 800 secondes.

La réponse peut également inclure un en-tête Last-Modified ou Etag. Ces en-têtes sont nécessaires pour vérifier si les données peuvent être réutilisées. Un statut de réponse 304 indique que le contenu n'a pas changé et qu'un nouveau téléchargement n'est pas requis. Notez les en-têtes Last-Modified et If-Modified-Since appariés, ainsi que les dates ci-dessous :

Une réponse avec un en-tête « Last-Modified » suivi d'une requête l'utilisant.

L'en-tête Etag est utilisé avec If-None-Match de la même manière pour échanger des codes de réponse lors de la détection de modifications de contenu, le cas échéant.

Un site avec des en-têtes HTTP bien pensés aura plus de succès auprès des utilisateurs. De plus, le navigateur permettra d'économiser du temps et de la bande passante.

Cache au niveau du réseau

Clients demandant le même contenu au serveur proxy.

Plusieurs clients demandant le même contenu en même temps.

Ce mécanisme simple mais puissant évite l'encombrement côté application lorsqu'il y a un grand nombre de requêtes lorsque le contenu expire.

L'idée derrière cette dernière approche, mais non la moindre, est qu'un serveur proxy peut améliorer la tolérance aux pannes de l'application. Il existe des indicateurs de directive proxy_cache_use_stale pour fournir du contenu expiré lorsque l'application renvoie un état d'erreur ou lorsque la communication entre le serveur proxy et l'application ne fonctionne pas comme prévu.

Une autre considération importante lors de l'utilisation des magasins de cache est la situation de concurrence critique qui se produit lorsque différentes instances d'une application accèdent simultanément à des données non mises en cache. L'API de mise en cache des requêtes Rails inclut une propriété race_condition_ttl pour minimiser cet effet.

Anticiper les conditions de concurrence pour les caches avec plusieurs instances d'application est un défi. La solution optimale dans ce cas consiste à mettre à jour les données du cache en dehors du thread de l'application et à utiliser les données mises en cache dans l'application elle-même. Dans une architecture microservice, vous pouvez sécuriser la communication entre l'application et le service à l'aide de nginx, comme décrit ci-dessus.

Conclusion

Nous espérons que cet article vous aidera à comprendre et à choisir la meilleure stratégie pour votre application. Les en-têtes HTTP sont la chose la plus simple que vous puissiez et devez configurer pour optimiser la mise en cache de votre application. Utilisez également d'autres stratégies lorsque vous rencontrez certains problèmes de performances, mais n'oubliez pas qu'une optimisation prématurée est à l'origine de tous les problèmes.

17/04/1999 Phil Keppeler

Les serveurs de cache IP devraient être très demandés sur le marché des entreprises en 1999. Ci-dessous, nous examinerons les dernières offres des fabricants. Contrairement à la bande passante des réseaux mondiaux, la mémoire est devenue beaucoup moins chère.

Les serveurs de cache IP devraient être très demandés sur le marché des entreprises en 1999. Ci-dessous, nous examinerons les dernières offres des fabricants.

Contrairement à la bande passante des réseaux mondiaux, la mémoire est devenue beaucoup moins chère. Selon une étude d'IDC, le niveau global des prix des réseaux mondiaux restera le même ou, au mieux, diminuera légèrement. Pendant ce temps, le coût de la mémoire diminue chaque année de 31,4 à 39,8 %.

Compte tenu de ces faits, la mise en cache IP devient intéressante pour optimiser l'utilisation de la bande passante et améliorer l'efficacité du réseau. Garder les fichiers fréquemment consultés plus près des utilisateurs finaux réduit les besoins en bande passante de l'entreprise réseau mondial ou des connexions Internet et, par conséquent, élimine ou retarde le besoin de mises à niveau coûteuses. Cela améliore également la productivité de l'utilisateur final car les objets sont livrés aux vitesses du réseau local.

La communauté Internet connaissait les avantages de la mise en cache bien avant qu’Internet ne devienne le phénomène commercial qu’il est aujourd’hui. En règle générale, les archives de fichiers pour les services Internet tels que FTP, Gopher et les conférences étaient mises en miroir dans le monde entier afin de conserver les fichiers populaires aussi proches que possible des utilisateurs. Avec l’avènement du HTTP, la mise en miroir est devenue inefficace en raison du volume, de la sensibilité temporelle et de la nature aléatoire du contenu demandé.

Les serveurs de cache IP sont au HTTP ce que la mise en miroir était aux protocoles d'archivage. Tous les serveurs de cache reposent essentiellement sur les mêmes principes : ils interceptent les requêtes d'objets du navigateur vers le serveur Web et stockent les objets reçus du serveur sur le disque dur avant de les transférer vers le navigateur. Ainsi, lors de requêtes ultérieures pour le même objet provenant d'autres navigateurs, le serveur de cache renvoie une copie de l'objet depuis sa mémoire au lieu de transmettre une requête au serveur Web pour obtenir l'objet original. Idéalement, le fait qu'un serveur de cache effectue des requêtes d'objets devrait permettre d'économiser du temps et de la bande passante. (Plus Description détaillée Les technologies de mise en cache peuvent être trouvées dans l'article « Un petit cache coûte cher » dans le LAN n°3 de cette année.)

Sous la pression des consommateurs et des fournisseurs de contenu, les fournisseurs Internet sont devenus les principaux utilisateurs de la mise en cache IP. Des connexions plus rapides telles que la ligne d'abonné numérique (DSL), l'IDSN et les modems câble laissent espérer que le maillon autrefois le plus faible de la chaîne de données était le modem téléphonique standard avec un débit de transfert de données maximum de 56 Kbps/s - sera éliminé. À mesure que les connexions Internet s’accélèrent, le volume d’objets copiés augmentera proportionnellement, ce qui entraînera une augmentation du trafic sur le réseau fédérateur Internet. Dans le même temps, les fournisseurs de contenu évoluent vers des formats de données plus complexes et à volume élevé, tels que le streaming audio/vidéo et les applets Java.

Suite à cette attaque des deux côtés, les fournisseurs d'accès Internet sont obligés de rechercher davantage de services. moyens efficaces utiliser son infrastructure pour répondre aux besoins des utilisateurs. La mise en cache IP était et reste une partie importante de leur solution.

Bien que de nombreux fournisseurs Internet reconnaissent les avantages de la mise en cache IP, les entreprises doivent encore mettre en œuvre cette technologie à grande échelle. Selon un rapport de Collaborative Research de février 1998, environ 80 % des fournisseurs d'accès Internet aux États-Unis ont annoncé leur intention de mettre en œuvre la mise en cache dans les six prochains mois. En revanche, seules 56 % des entreprises prévoyaient de commencer à utiliser la mise en cache au cours de la même période. Cependant, comme le prédisent les experts, en 1999, la demande de mise en cache sera forte sur le marché des entreprises. Selon Collaborative Research, les investissements des entreprises dans les technologies de mise en cache devraient rapidement dépasser ceux des fournisseurs d'accès Internet, passant de 85 millions de dollars en 1998 à plus d'un milliard de dollars en 2000 (voir tableau).

Marché mondial des produits de mise en cache en 1998-2002.
Segment de marché 1998 1999 2000 2001 2002
Utilisateurs d'entreprise 85 millions de dollars421 millions de dollars1 113 millions de dollars2 108 millions de dollars3 157 millions de dollars
Fournisseurs Internet 103 millions de dollars214 millions de dollars376 millions de dollars481 millions de dollars576 millions de dollars
Autre 19 millions de dollars63 millions de dollars149 millions de dollars259 millions de dollars373 millions de dollars
Total 207 millions de dollars698 millions de dollars1 638 millions de dollars2 848 millions de dollars4 106 millions de dollars
Source : Recherche collaborative, 1998

Cette tendance n'est pas passée inaperçue auprès des fabricants, qui réorientent activement leurs produits vers les entreprises. Initialement fabriquant des produits haut de gamme pour les fournisseurs d'accès Internet, les fabricants ont commencé à inclure dans leurs gammes de produits des offres à un prix relativement bas et avec un niveau de performance suffisant pour les entreprises. En outre, une douzaine de nouveaux fournisseurs ont annoncé ou lancé des serveurs de cache basés sur du matériel standard de l'industrie et logiciel- par exemple des serveurs sur la plateforme Intel avec le logiciel de mise en cache Squid gratuit - dans le but de proposer des produits les moins chers possible.

INTERMÉDIAIRE COMME CACH ?

Les premiers serveurs de cache étaient généralement implémentés sur la base de serveurs proxy. À ce titre, ils agissaient en tant que courtiers d'objets pour un groupe d'utilisateurs, acceptant toutes les demandes et les transmettant à destination sur Internet. En tant que point d'accès commun pour tous les utilisateurs, les serveurs proxy se sont révélés extrêmement intéressants pour la mise en œuvre d'une variété de services supplémentaires : filtrage de contenu, identification des utilisateurs, journalisation des événements et mise en cache des objets. Associé à un pare-feu, le serveur proxy a permis de créer une connexion sécurisée à Internet.

L'un des premiers intermédiaires dotés de cache a été le serveur logiciel Harvest Cache, résultat d'un projet conjoint financé en 1994-1996 par l'Advanced Research Projects Agency (ARPA), la National Science Foundation, NSF) et la NASA. Depuis lors, au moins une douzaine de produits ont été commercialisés comme « intermédiaires de mise en cache ». Notamment, Netscape Communications, Microsoft et Novell disposent tous de serveurs proxy prenant en charge le cache et étroitement intégrés à leurs autres outils d'entreprise. En plus de la mise en cache, leurs produits offrent une grande variété de fonctions intermédiaires telles que l'authentification des utilisateurs, le filtrage de contenu, l'analyse antivirus, la sécurité et la journalisation des événements. Le proxy de Microsoft fonctionne sous Windows NT 4.0 ; Serveur proxy de Netscape - basé sur la plupart des variétés d'UNIX, ainsi que Windows NT ; BorderManager FastCache de Novell - sur IntranetWare, NetWare 4.11 et NetWare 5.

Squid est un autre intermédiaire de mise en cache commercial largement utilisé, une extension de Harvest Cache développée par le National Laboratory for Advanced Network Research (NLANR). Peut-être parce qu'il est né d'un effort collectif dans un environnement où les logiciels standardisés et acceptés sont bien accueillis et largement utilisés, Squid s'est imposé sur le marché des fournisseurs d'accès Internet et continue de disposer d'une base installée relativement solide.

Les configurations avec proxys de mise en cache présentent deux inconvénients principaux. Premièrement, comme le navigateur de chaque utilisateur doit être configuré pour passer par un intermédiaire, une panne de serveur fait perdre à tous les utilisateurs leur connexion à Internet. Deuxièmement, saisir la configuration du navigateur de chaque utilisateur avec des informations sur l'intermédiaire peut demander beaucoup de travail dans les grandes entreprises et, en fait, une tâche impossible pour l'opérateur Internet.

Pour éviter ces problèmes dans les configurations man-in-the-middle, vous pouvez implémenter une mise en cache transparente sur votre réseau en installant un routeur activé par des règles ou un commutateur de couche 4 pour transférer le trafic vers un serveur de cache ou un groupe de serveurs. Ces appareils interceptent tout le trafic HTTP sur le port 80 et le redirigent vers le cache. Le cache s'exécute Requêtes HTTP et renvoie les objets au navigateur. Une solution de mise en cache véritablement transparente doit prendre en charge l'évolutivité en équilibrant la charge sur plusieurs serveurs de cache, ainsi que le basculement vers les serveurs de sauvegarde si un ou tous les serveurs de cache sont indisponibles. Des exemples de dispositifs de commutation de couche 4 incluent ACEdirector d'Alteon Networks et ServerIron de Foundry Networks.

Le serveur de cache Infolibria de DynaCache adopte une approche différente, offrant une transparence sans avoir besoin d'un commutateur ou d'un routeur séparé. Ceci est réalisé à l'aide de DynaLink Redirector (DLR), un commutateur de couche 4 dédié qui s'interface avec DynaCache. Le DLR, partie intégrante de la stratégie de mise en cache de l'entreprise, réside sur le réseau et transmet uniquement les échecs de cache vers Internet. Selon l'entreprise, cette stratégie peut réduire la charge sur le routeur des deux tiers.

LOGICIEL VS MATÉRIEL

En 1997, dans un rapport intitulé « Pourquoi la mise en cache est importante », Forrester Research prédisait que les fournisseurs de services Internet et les entreprises migreraient des serveurs de cache logiciel vers des dispositifs de mise en cache dédiés. De même, Dataquest a déclaré dans un rapport de juillet 1998 que les appareils dédiés domineraient le marché des produits de mise en cache.

Il n’est donc pas surprenant que plus d’une demi-douzaine de fabricants aient lancé des dispositifs de mise en cache en 1998. Ils affirment que leurs produits offrent de meilleures performances que leurs homologues logiciels, car le système d'exploitation et le serveur de mise en cache sont étroitement intégrés les uns aux autres et optimisés pour la mise en cache. Ils affirment également que leurs produits sont plus faciles à installer et à configurer et fournissent des plates-formes plus sécurisées car ils sont moins susceptibles de créer des failles de sécurité dues à des erreurs d'administration ou de configuration. En règle générale, les caches logiciels, tels que le proxy de mise en cache évoqué ci-dessus, sont conçus en pensant au proxy, tandis que les caches matériels sont conçus uniquement pour prendre en charge une mise en cache intensive. Malgré cela, de nombreux périphériques de mise en cache peuvent être utilisés dans les configurations proxy.

Network Appliance a été l'un des premiers à proposer une appliance de mise en cache dédiée. Pour ce faire, il a adapté le logiciel NetCache au produit matériel. Network Appliance a acquis le logiciel NetCache (et a acquis Peter Danzig, l'un des architectes en chef du projet Harvest, par-dessus le marché) ainsi qu'une petite start-up, Internet Middleware.

D'autres dispositifs de mise en cache introduits en 1998 incluent Cache Engine de Cisco Systems, CacheFlow de CacheFlow et DynaCache d'InfoLibria. Bien qu'il ne s'agisse pas strictement d'un périphérique dédié, Netra Proxy de Sun Microsystems est préconfiguré sur un ordinateur UltraSPARC II. Il contient le logiciel de mise en cache de Sun et est optimisé pour ces fonctions.

Plus récemment, des dispositifs de mise en cache relativement peu coûteux sont apparus sur le marché. Ils sont basés sur du matériel et des logiciels standardisés et sont des serveurs préconfigurés conçus pour rendre la mise en cache plus simple et plus abordable. Cette approche peut être intéressante pour les petites entreprises, voire les grandes entreprises, qui souhaitent profiter des avantages de la mise en cache des groupes de travail mais hésitent en raison du coût élevé et de la complexité des solutions disponibles. Le prix de ces produits oscille autour de 2 000 dollars, tandis que les solutions mentionnées ci-dessus coûtent au moins 7 000 dollars.

Trois exemples de dispositifs de mise en cache à faible coût sont WebSpeed ​​​​de Packetstorm Technologies et CacheQube et CacheRaQ de Cobalt Networks. WebSpeed ​​​​se vend entre 2 100 $ et 7 100 $ selon la taille du cache. WebSpeed ​​​​utilise des processeurs Intel et un système d'exploitation gratuit Système Linux, ainsi que le logiciel de mise en cache Squid. L'entreprise parie que les clients apprécieront un appareil préconfiguré à faible coût qu'ils pourront installer sur leurs réseaux avec un minimum d'effort. Le CacheQube et le CacheRaQ montés en rack de Cobalt Network sont évolutifs grâce à la capacité DRAM et espace disque, et en créant un cluster de plusieurs appareils. CacheQube coûte 1 899 $ et CacheRaQ coûte 2 299 $ ou 2 799 $ selon la configuration.

Pour tenter de contrer les prédictions des experts selon lesquelles les dispositifs de mise en cache dédiés domineraient le marché, Inktomi a lancé Traffic Server, que la société positionne comme une solution de mise en cache hautes performances destinée principalement aux fournisseurs de services Internet et aux grandes entreprises. En revanche, d’autres caches logiciels se concentrent autant sur les fonctions de médiation et de protection que sur les fonctions de mise en cache. À 30 000 $ par processeur, Traffic Server propose également le prix d'un produit de qualité opérateur.

COMPATIBILITÉ ET NORMES

Datant des premières recherches sur la mise en cache du projet Harvest, l'Internet Caching Protocol (ICP) définit comment plusieurs serveurs de cache IP peuvent partager des informations sur la récence des objets Web et comment ils récupèrent des objets d'autres caches (par opposition à la récupération d'objets de l'original). Serveur Web). Avec ICP, les administrateurs de serveur peuvent configurer le cache pour interroger d'autres serveurs de cache prenant également en charge ICP pour voir s'ils disposent des dernières informations sur les objets Web. Par exemple, un cache local peut demander à un cache en amont de voir s'il possède une copie plus récente d'un fichier et, si ce n'est pas le cas, s'il a vérifié l'âge du fichier sur le serveur d'origine. Même si le serveur en amont n'a plus nouvelle version fichier, il aurait pu vérifier récemment que le fichier avait été modifié sur le serveur d'origine. En fonction de l'algorithme de mise à jour, le cache local peut utiliser ces informations pour récupérer une version plus récente de l'objet depuis le serveur d'origine, ou utiliser à la place une copie locale (voir figure).

L'interrogation du cache en amont introduit une latence supplémentaire en raison de l'augmentation de la distance et du temps de transmission ; cependant, le gain de temps sera assez important dans de nombreux cas, puisque la requête n'a pas besoin d'aller jusqu'au serveur contenant l'objet d'origine. De plus, la fourniture d'objets provenant de serveurs de communication ICP situés à proximité du destinataire réduira la charge sur le réseau fédérateur Internet, libérant ainsi de la bande passante pour la communauté Internet dans son ensemble. Aujourd’hui, presque toutes les solutions de mise en cache prennent en charge ICP.

Semblable à ICP, le Caching Array Routing Protocol (CARP) est un protocole permettant de partager la charge de mise en cache sur une flotte de serveurs locaux. Il a été développé par Microsoft et soumis au World Wide Web Consortium (W3C) en tant que proposition de norme Internet. Outre Microsoft, une douzaine d'autres fournisseurs, dont Packetstorm Technologies et Sun, ont annoncé la prise en charge de CARP.

Pour permettre au Cache Engine de communiquer avec ses routeurs, Cisco a développé le Web Cache Communication Protocol (WCCP). À l'aide de WCCP, un routeur Cisco avec Prise en charge iOS intercepte les requêtes HTTP provenant des navigateurs et les redirige vers un serveur de cache ou un appareil dédié. WCCP prend en charge l'évolutivité en distribuant les requêtes sur plusieurs serveurs de cache en fonction de leur disponibilité.

En novembre 1998, Cisco a commencé à accorder des licences WCCP à d'autres fabricants de produits de mise en cache. Inktomi et Network Appliance ont annoncé leur intention d'inclure la prise en charge WCCP dans les futures versions de leurs produits.

INDICATEURS DE MARCHÉ

Même si les chiffres suscitent une certaine controverse, le marché des produits de mise en cache Internet devrait connaître une croissance significative au cours des quatre prochaines années. Collaborative Research prévoit que le marché passera de 206 millions de dollars en 1998 à plus de 4 milliards de dollars en 2002.

Compte tenu de ces chiffres, il n’est pas surprenant que les principaux fabricants et développeurs de logiciels et de matériel tentent d’utiliser leur position pour pénétrer le marché de la mise en cache. Par exemple, avec une large base installée de systèmes d'exploitation pour serveurs, Novell s'appuie sur une intégration étroite de BorderManager avec ses autres produits pour attirer l'attention des entreprises clientes.

Comme Novell, Microsoft et Sun se disputent la domination sur le marché des logiciels et des serveurs Internet. Ils disposent tous deux d'une large base installée de serveurs Web et positionnent leurs produits (avec leur arsenal de fonctionnalités intermédiaires) comme des composants essentiels pour un environnement de support d'applications Web intégré. Avec une large base installée de périphériques réseau, l'intégration étroite de Cache Engine avec d'autres composants réseau Cisco peut contribuer à une adoption généralisée.

PRIX CE DONT VOUS AVEZ BESOIN

Lorsque vous décidez de mettre en œuvre la mise en cache sur votre réseau, vous avez le choix entre des produits gratuits et ceux coûtant 100 000 $ ou plus. En général, plus le produit est cher, plus il est puissant.

Au bas de l’échelle des prix, là où les serveurs de cache logiciel ont récemment dominé, vous pouvez désormais trouver une douzaine de périphériques de mise en cache. En utilisant produit gratuit, tel que Squid, qui est disponible à la fois sous forme source et précompilée, vous aurez besoin d'un ordinateur sur lequel l'installer. Pour éviter des dépenses inutiles, vous pouvez réutiliser l'équipement existant pour effectuer des tâches de mise en cache.

Netscape, Microsoft et Novell proposent de puissants serveurs de cache logiciel dotés d'un large éventail de fonctionnalités de médiation. Leurs produits coûtent environ 1 000 $ par processeur. Comme pour Squid, le coût global de la solution peut être réduit en utilisant le matériel existant. Dans le cas contraire, le coût d’achat du matériel devra être inclus dans la partie dépense.

Phil Keppeler est développeur Web dans une entreprise de conception et de programmation. Il peut être contacté à : [email protégé].

Produits examinés

Microsoft

Netscape Communications

Laboratoire national de recherche avancée sur les réseaux

Réseaux Alteon

Directeur ACE
http://ircache.nlanr.net/Cache/FAQ/ircache-faq-9.html .

Brian D. Davidson, Ph.D. de l'Université Rutgers, gère une page d'informations sur la mise en cache des ressources sur son serveur. http://www.cs.rutgers.edu/~davison/Web-caching/. Il contient des actualités sur la mise en cache, une liste et un tableau des intermédiaires de mise en cache, une bibliographie, etc.

Si vous souhaitez en savoir plus sur le projet Harvest, des liens pertinents vers les résultats de la recherche, les transcriptions des réunions et les questions fréquemment posées sont disponibles sur : http://www.harvest.transarc.com .

CacheNow est une campagne continue visant à promouvoir la mise en cache à grande échelle afin de remédier aux pénuries de bande passante et de surmonter les limitations de l'infrastructure Internet. Des informations à ce sujet sont disponibles sur http://vancouver-Webpages.com/CacheNow/ .



  • Traduction

Une présentation assez détaillée et intéressante du matériel concernant le cache et son utilisation. Partie 2 .

Du traducteur : veuillez signaler les fautes de frappe et les inexactitudes dans un message personnel. Merci.

Un cache Web réside entre un ou plusieurs serveurs Web et un ou plusieurs clients, et surveille les demandes entrantes tout en stockant des copies des réponses : pages HTML, images et fichiers (collectivement appelés représentation(représentations); environ. traducteur - permettez-moi d'utiliser le mot « contenu » - cela, à mon avis, ne fait pas trop mal à l'oreille), car propres besoins. Ensuite, si une autre requête arrive avec une URL similaire, le cache peut utiliser la réponse précédemment stockée au lieu de demander à nouveau au serveur.

Il y a deux raisons principales pour lesquelles le cache Web est utilisé :

1. Temps d'attente réduit- puisque les données demandées sont extraites du cache (qui est situé « plus près » du client), la réception et l'affichage du contenu côté client prennent moins de temps. Cela rend le Web plus réactif.

2. Déclin trafic réseau - la réutilisation du contenu réduit la quantité de données transférées au client. Cela permet d'économiser de l'argent si le client paie pour le trafic et de maintenir les besoins en bande passante à un niveau inférieur et plus flexible.

Types de caches Web

Cache du navigateur
Si vous examinez la fenêtre des paramètres d'un navigateur Web moderne (par exemple, Internet Explorer, Safari ou Mozilla), vous remarquerez probablement une option de paramètre de cache. Cette option vous permet de sélectionner une zone disque dur sur votre ordinateur pour stocker le contenu précédemment consulté. Le cache du navigateur fonctionne selon des règles assez simples. Il vérifie simplement si les données sont « fraîches », généralement une fois par session (c'est-à-dire une fois dans la session en cours du navigateur).

Ce cache est particulièrement utile lorsque l'utilisateur appuie sur le bouton de retour ou clique sur un lien pour voir la page qu'il vient de consulter. De plus, si vous utilisez les mêmes images de navigation sur votre site, elles seront récupérées presque instantanément du cache du navigateur.

Cache proxy
Le cache proxy fonctionne sur un principe similaire, mais à une échelle beaucoup plus grande. Les proxys servent des centaines ou des milliers d'utilisateurs ; les grandes entreprises et les fournisseurs de services Internet les configurent souvent sur leurs pare-feu ou les utilisent comme appareils individuels(intermédiaires).

Étant donné que les proxys ne font pas partie du client ou du serveur d'origine, mais font toujours face au réseau, les requêtes doivent leur être transmises d'une manière ou d'une autre. Une solution consiste à utiliser les paramètres de votre navigateur pour lui indiquer manuellement quel proxy contacter ; Une autre façon consiste à utiliser un proxy d’interception. Dans ce cas, les proxys traitent les requêtes web qui leur sont transmises par le réseau sans que le client ait besoin de les configurer ni même de connaître leur existence.

Les caches proxy sont une sorte de cache partagé : au lieu de servir une seule personne, ils travaillent avec un grand nombre utilisateurs et sont donc très efficaces pour réduire la latence et le trafic réseau. Principalement parce que le contenu populaire est demandé plusieurs fois.

Cache de passerelle
Également connues sous le nom de « caches proxy inverse » ou « caches de substitution », les passerelles sont également des intermédiaires, mais au lieu d'être utilisées par les administrateurs système pour économiser de la bande passante, elles sont généralement utilisées par les webmasters pour rendre leurs sites plus évolutifs, plus fiables et plus efficaces.

Les requêtes peuvent être transmises aux passerelles par un certain nombre de méthodes, mais une forme d'équilibrage de charge est généralement utilisée.

Les réseaux de diffusion de contenu (CDN) distribuent des passerelles sur Internet (ou une partie de celui-ci) et diffusent le contenu mis en cache aux sites Web intéressés. Speedera et Akamai sont des exemples de CDN.

Ce didacticiel se concentre principalement sur les caches et les proxys du navigateur, mais certaines informations sont également pertinentes pour ceux qui s'intéressent aux passerelles.

Pourquoi devrais-je l'utiliser

La mise en cache est l’une des technologies les plus mal comprises sur Internet. Les webmasters, en particulier, craignent de perdre le contrôle de leur site car les proxys peuvent « cacher » leurs utilisateurs, ce qui rend difficile la surveillance du trafic.

Malheureusement pour eux (webmasters), même si le cache Web n'existait pas, il existe trop de variables sur Internet pour garantir que les propriétaires de sites puissent avoir une image précise de la manière dont les utilisateurs interagissent avec le site. Si cela constitue un gros problème pour vous, ce guide vous apprendra comment obtenir les statistiques dont vous avez besoin sans rendre votre site « haineux contre le cache ».

Un autre problème est que le cache peut stocker du contenu obsolète ou expiré.

D'un autre côté, si vous concevez votre site Web de manière responsable, un cache peut vous aider davantage. chargement rapide et maintenir la charge sur le serveur et la connexion Internet dans les limites acceptables. La différence peut être dramatique : un site sans cache peut prendre quelques secondes à charger ; tandis que les avantages de l'utilisation de la mise en cache peuvent la rendre instantanée. Les utilisateurs apprécieront le temps de chargement rapide du site et pourront le visiter plus souvent.

Pensez-y de cette façon : de nombreuses grandes sociétés Internet dépensent des millions de dollars pour installer des fermes de serveurs dans le monde entier pour répliquer le contenu afin de rendre l'accès aux données aussi rapide que possible pour leurs utilisateurs. Le cache fait la même chose pour vous et est beaucoup plus proche de l'utilisateur final.

De ce point de vue, les CDN constituent un développement intéressant car, contrairement à de nombreux caches proxy, leurs passerelles sont alignées sur les intérêts du site Web mis en cache. Cependant, même lorsque vous utilisez un CDN, vous devez toujours considérer qu'il y aura un proxy et une mise en cache ultérieure dans le navigateur.

Pour résumer, les proxys et le cache du navigateur seront utilisés, que cela vous plaise ou non. N'oubliez pas que si vous ne configurez pas correctement le cache de votre site, il utilisera les paramètres de cache par défaut.

Comment fonctionne le cache Web

Tous les types de caches disposent d'un ensemble spécifique de règles qu'ils utilisent pour déterminer quand extraire le contenu du cache s'il est disponible. Certaines de ces règles sont définies par des protocoles (HTTP 1.0/HTTP 1.1), d'autres sont définies par les administrateurs de cache (utilisateurs de navigateur ou administrateurs proxy).

D'une manière générale, ce sont les plus règles générales(ne vous inquiétez pas si vous ne comprenez pas les détails, ils seront expliqués ci-dessous) :

  1. Si les en-têtes de réponse indiquent au cache de ne pas les enregistrer, il ne les enregistrera pas.
  2. Si la demande est autorisée ou sécurisée (c'est-à-dire HTTPS), elle ne sera pas mise en cache.
  3. Le contenu mis en cache est considéré comme « frais » (c'est-à-dire qu'il peut être envoyé au client sans vérification auprès du serveur d'origine) si :
    • Il a un délai d'expiration ou un autre en-tête qui contrôle la durée de vie et n'a pas encore expiré.
    • Si le cache a récemment vérifié le contenu et qu'il a été modifié il y a assez longtemps.
    Le nouveau contenu est extrait directement du cache, sans vérification auprès du serveur.
  4. Si le contenu est obsolète, il sera demandé au serveur d'origine de le valider ou d'indiquer au cache si la copie existante est toujours à jour.
  5. Dans certaines circonstances, par exemple lorsqu'il est hors ligne, le cache peut conserver les réponses obsolètes sans vérification auprès du serveur d'origine.
Si la réponse n'a pas de validateur (en-tête ETag ou Last-Modified) et ne contient aucune information explicite sur la fraîcheur, le contenu sera généralement (mais pas toujours) considéré comme non mis en cache.

Fraîcheur(fraîcheur) et validation(validation) sont les moyens les plus importants par lesquels le cache fonctionne sur le contenu. Du nouveau contenu sera disponible instantanément à partir du cache ; Un contenu valide évitera de renvoyer tous les paquets s'il n'a pas été modifié.

Publications sur le sujet