Lorsque vous affinerez SuperCache et testerez ses options, les en-têtes de statut HTTP spéciaux générés vous aideront beaucoup. Le système de SuperCache sert des en-têtes HTTP spécifiques qui fournissent des informations sur l'état actuel du système et si une ressource Web donnée est mise en cache ou non.
Important :Avant de vérifier le fonctionnement de SuperCache, vous devez faire attention aux types de mise en cache lors de l'utilisation de cookies et aux en-têtes de serveur exclus de la mise en cache. Ces paramètres sont disponibles dans SuperCache » Paramètres avancés » Paramètres avancés.
Comment fonctionne la mise en cache dans SuperCache ?
SuperCache est un système de mise en cache et d'accélération Web qui applique des techniques et des approches de mise en cache de base telles que Reverse Proxy.
Lorsqu'une page donnée du site Web est chargée pour la première fois, SuperCache conserve une version en cache de la page pour une utilisation future.
Cache MISS – (la page demandée n'est pas disponible dans le cache)
(1 ) Le navigateur Web envoie une requête pour la ressource Web page.html au serveur correspondant au domaine demandé, et la requête atteint SuperCache.
(2 ) SuperCache recherche la page demandée dans le cache et ne la trouve pas. Une telle omission est appelée Cache MISS. SuperCache doit accéder au site Web de la page demandée.
(3 ) SuperCache envoie une requête pour la ressource Web page.html au serveur source.
(4 ) Le serveur source renvoie la page Web à SuperCache.
(5 ) SuperCache reçoit, copie la page dans le cache et la renvoie au client Web.
(6 ) Le navigateur Web reçoit la ressource Web demandée.
Cache atteint – (la page demandée est disponible dans le cache)
Une fois la page mise en cache, elle est directement servie lors des requêtes suivantes sans envoyer de nouvelles requêtes au serveur d'origine.
(1 ) Le navigateur Web envoie une requête pour page.html au serveur correspondant au domaine demandé, et la requête est détectée par SuperCache (puisque le serveur proxy est situé avant le serveur source).
(2 ) SuperCache vérifie le cache de la page demandée et la trouve (Cache HIT). SuperCache sert la page Web directement au client, cette fois sans passer par le serveur source.
Vérification du cache et statut dans SuperCache
La vérification du cache peut être effectuée soit via l'outil de développement qui est disponible par défaut dans les navigateurs les plus courants, soit via une console. L'en-tête spécial renvoyé par SuperCache est vérifié au cours de cette procédure.
Vérifier via un navigateur
Il existe un outil de développement disponible dans Firefox et Chrome grâce auquel vous pouvez vérifier les en-têtes HTTP échangés par le navigateur et SuperCache.
Pour effectuer une vérification via Firefox ou Chrome, chargez une page Web et appuyez sur F12 (ou Ctrl+Maj+K).
Vérifiez les en-têtes HTTP et recherchez le X-SH-Cache* en-tête dans la réponse du serveur.
Vérifier via une console
Vous pouvez également vérifier les en-têtes HTTP dans la réponse du site Web via une console.
Les tests de cache peuvent être effectués via une machine distante.
Si la machine prend en charge curl, voici ce qu'il faut utiliser :
curl -I http://cookies.goodexample.eu
cookies.goodexample.eu - remplacer par l'URL du site ;
En-têtes d'état HTTP servis par SuperCache
Lorsqu'une page Web est chargée avec SuperCache activé, les en-têtes de réponse du serveur affichent l'un des en-têtes HTTP spéciaux suivants :
X-SH-Cache-Statut :HIT
Cet état signifie que le contenu de la page Web mis en cache est diffusé. La mise en cache est activée et en cours d'exécution.
X-SH-Cache-Statut :MISS
Cet état signifie que le contenu mis en cache n'est pas servi. Si vous visitez une page Web pour la première fois, vous obtiendrez ce statut. Lors du prochain chargement de la page, le statut sera HIT. Si à chaque chargement de page suivant, le statut est MISS, cela signifie qu'il existe une condition, un en-tête HTTP ou un cookie HTTP empêchant l'encaissement.
Ce statut peut également être généré si :
– la page est chargée pour la première fois ;
– le site Web sert l'en-tête Set-Cookie qui n'est pas exclu de la mise en cache dans SuperCache ;
– le site Web sert un en-tête Cache-Control avec une directive empêchant SuperCache de la mise en cache.
X-SH-Cache-Statut :BYPASS
Cet état signifie que le contenu mis en cache n'est pas servi. La raison la plus courante pourrait être un cookie exclu, ce qui signifie que SuperCache ne diffusera pas de contenu mis en cache. BYPASS peut être reçu dans le cas où un cookie client pour l'authentification est généré et exclu de la mise en cache. Vous pouvez voir ces cookies ci-dessous dans l'article.
X-SH-Cache-Statut :exclu
Ce statut vise à vous informer que le contenu mis en cache n'est pas chargé pour la page Web puisque son URL est exclue de la mise en cache. Vous pouvez modifier cela sous Exclure les adresses URL de la mise en cache.
X-SH-Cache-Désactivé :1
Ce statut signifie que la mise en cache est désactivée dans SuperCache Manager dans cPanel. La version en cache de la page Web n'est pas diffusée.
X-SH-Cache-Statut :EXPIRÉ
Ce statut signifie que la validité de la version en cache de la page Web a expiré et qu'elle doit être revalidée. Lors de la prochaine visite sur la page, le contenu mis en cache sera actualisé et le statut passera à HIT.
X-SH-Cache-Statut :IP sur liste blanche
Ce statut signifie que le formulaire d'adresse IP auquel la requête au site Web est envoyée a été exclu de la diffusion du contenu mis en cache.
X-SH-WhitelistIp :xxx.xxx.xxx.xxx
Cet en-tête contient l'adresse IP à partir de laquelle la requête au site Web est envoyée.
Caractéristiques spécifiques de la mise en cache avec SuperCache
Cookies HTTP
SuperCache prend en charge trois modes de mise en cache concernant l'utilisation des cookies HTTP dans les requêtes des visiteurs. Le type de mise en cache peut être sélectionné dans les Types de mise en cache lors de l'utilisation de cookies option disponible sous Paramètres avancés dans SuperCache.
Pour choisir le type de mise en cache approprié lors de l'utilisation de cookies, vous devez d'abord tester le site Web en détail et définir tous les cas dans lesquels il génère des cookies. S'il existe un cookie permettant au site Web de fournir un contenu personnalisé à chaque utilisateur, vous devez exclure ce cookie de la mise en cache.
Cookies HTTP exclus de la mise en cache
Certains des CMS les plus populaires tels que WordPress, Joomla! et d'autres utilisent des cookies spécifiques pour valider l'identification précédente de l'utilisateur. Après s'être connecté à certaines administrations de ces systèmes, les utilisateurs reçoivent les cookies suivants :
administrateur =*
wordpress_logged_in *
joomla_user_state=logged_in
Ces cookies administratifs sont automatiquement exclus de la mise en cache. La suppression de ce mécanisme de défense n'est pas prise en charge.
Lorsqu'un utilisateur envoie certains de ces cookies dans la requête au site Web, SuperCache renverra X-SH-Cache-Status :BYPASS ne mettra pas en cache la réponse du site Web, ni ne fournira les données mises en cache au visiteur.
Si le site Web utilise des cookies pour une authentification différente de ceux mentionnés ci-dessus, vous pouvez les exclure de Tout mettre en cache à l'exclusion des cookies de visiteurs spécifiques dans Paramètres avancés » Types de mise en cache lors de l'utilisation de cookies . Entrez uniquement le nom du cookie dans le champ Ne pas diffuser le contenu du cache lorsqu'un cookie est présent .
URL d'administration exclues de la mise en cache
Tout comme les cookies administratifs, certaines des URL administratives des CMS les plus courants sont exclues de la mise en cache.
URL exclues de la mise en cache :
/wp-admin
/wp-login.php
/administrateur
/administrateur
/se connecter
/utilisateur/connexion
/?q=utilisateur
Contrairement aux cookies, l'option URL exclues de la mise en cache peut être désactivée. Vous pouvez le faire à partir des adresses URL ajoutées automatiquement qui ne sont pas mises en cache sous Paramètres avancés dans SuperCache.
Important :Si pour accéder au panneau d'administration du site Web, vous utilisez une URL différente de celles exclues de la mise en cache, vous devez l'ajouter à Exclure les adresses URL de la mise en cache dans les paramètres SuperCache.En-têtes HTTP servis par le site Web
Si une réponse d'un site Web sera mise en cache et jusqu'à quand le cache sera stocké dépend des en-têtes HTTP. SuperCache vérifie les en-têtes HTTP dans la réponse du site Web et respecte certains d'entre eux.
Ce sont :Set-Cookie , Cache-Control , Expire et Varier .
Remarque :Le cache sera purgé à un certain intervalle de temps. L'intervalle global de propagation du cache est configuré dans SuperCache sous Automatic Cache Purge. L'intervalle défini par défaut est de 15 minutes. Cela signifie que les données mises en cache pour une ressource Web donnée sont purgées toutes les 15 minutes. Le contenu mis en cache est supprimé et lors de la prochaine requête, cette ressource génère un nouveau cache.En-tête HTTP Set-Cookie
Le site Web envoie des cookies HTTP aux utilisateurs via cet en-tête. Si la réponse du site Web contient au moins un en-tête Set-Cookie, il ne sera pas mis en cache par SuperCache. Cette option peut être modifiée depuis Paramètres avancés » Désactiver le traitement des en-têtes de serveur suivants. Après avoir exclu cet en-tête du traitement, SuperCache ne s'y conformera pas et mettra librement en cache la réponse du site Web.
En-tête de contrôle de cache HTTP
Un certain nombre de directives de l'en-tête HTTP Cache-Control sont liées à la validité de la réponse du site Web et contrôlent la manière dont les systèmes de mise en cache traiteront cette réponse. Cela influence directement la mise en cache des ressources Web et SuperCache est donc sensible aux directives de l'en-tête HTTP Cache-Control.
En-tête d'expiration HTTP
Cet en-tête spécifie le temps jusqu'à ce que la réponse soit considérée comme à jour. Si la réponse est générée après la date spécifiée, la réponse est traitée par les systèmes de mise en cache comme obsolète et obsolète. SuperCache peut exclure l'en-tête Expires si la réponse contient l'en-tête HTTP Cache-Control avec une directive max-age.
En-tête variable HTTP
L'en-tête HTTP Vary est un mécanisme utilisé par les sites Web pour notifier que le contenu varie en fonction des spécifications des utilisateurs.
L'en-tête est utilisé par les systèmes de mise en cache afin qu'ils respectent cette fonctionnalité lors de la mise en cache du contenu. Il peut utiliser comme directives d'autres en-têtes HTTP générés dans les requêtes des utilisateurs, tels que User-Agent, Cookies, etc.
L'utilisation de Vary :User-Agent peut entraîner une mise en cache inefficace. Si le site Web sert l'en-tête Vary avec une directive qui n'est pas critique pour le bon fonctionnement du site Web, vous feriez mieux de l'exclure de SuperCache.
Si le site Web diffuse l'en-tête Vary :User-Agent, mais qu'il n'y a pas de fonctionnalité ou de contenu de site Web à faire varier pour différents navigateurs (User-Agent), vous pouvez exclure la directive User-Agent de SuperCache.
Vous pouvez exclure une directive spécifique de l'en-tête Vary sous Paramètres SuperCache » En-têtes Vary ignorés.
Pour tester cette fonctionnalité via une console, vous pouvez modifier le paramètre User-Agent dans curl, par exemple :
curl -I -A "MonAgentUtilisateur" http://cookies.goodexample.eu
Remarque :Si le site Web propose un contenu différent pour les utilisateurs mobiles et de bureau et utilise l'en-tête User-Agent pour les distinguer, l'User-Agent ne doit pas être ajouté aux en-têtes Ignored Vary dans SuperCache. retour au sommetEn savoir plus :
SuperCache Manager par SuperHosting
Paramètres avancés dans SuperCache Manager
En-têtes HTTP
En-tête variable HTTP