Mise en cache
La mise en cache consiste à stocker des fichiers sur des serveurs périphériques afin d'améliorer le temps de réponse lors de la distribution de ces fichiers aux clients. En stockant les fichiers plus près des utilisateurs, la mise en cache réduit le temps nécessaire pour que les données se déplacent sur le réseau, ce que l'on appelle communément le temps de latence.
Par défaut, CIS met en cache les fichiers statiques, qui comprennent de nombreux types d'images et de fichiers texte (non-HTML). Le cache comprend uniquement les fichiers de vos sites web et ne couvre pas les ressources de tiers, telles que celles des sites de réseaux sociaux. Actuellement, CIS ne met pas en cache en fonction du type MIME.
CIS ne met pas en cache les fichiers HTML par défaut car ils sont généralement considérés comme dynamiques. Toutefois, si le HTML statique peut être clairement distingué du HTML dynamique, il est possible de mettre en cache les fichiers HTML en utilisant des règles de page.
Les fichiers mis en cache ont un délai d'expiration spécifié, appelé Time-to-Live (TTL), au terme duquel ils sont supprimés du cache. Vous pouvez également purger manuellement les fichiers du cache à tout moment. Une fois les fichiers purgés, CIS retourne sur votre serveur d'origine pour recharger les fichiers et mettre à jour le cache avec les versions les plus récentes.
Pour plus d'informations sur les paramètres et les options du cache, voir Utilisation des règles de page avec la mise en cache.
Comportement de mise en cache par défaut
CIS met en cache le contenu statique en fonction de la localisation de vos visiteurs, du centre de données CIS auquel ils se connectent et de la fréquence à laquelle la ressource est demandée dans ce centre de données.
La mise en cache n'a lieu qu'au sein du centre de données CIS qui répond à la demande. Les ressources suivantes ne sont pas mises en cache par CIS:
- Ressources hors site ou de tiers
- Contenu hébergé sur des enregistrements DNS qui ne sont pas protégés par un proxy
Par défaut, CIS respecte les en-têtes de cache du serveur web d'origine, à moins qu'une règle de page de TTL de cache périphérique ne les remplace :
- CIS ne met pas les ressources en cache si l'en-tête
cache-control
a pour valeurprivate
,no-store
,no-cache
oumax-age=0
, ou si un cookie est présent dans la réponse. - CIS met en cache les ressources si
cache-control
estpublic
avecmax-age
supérieur à 0, ou si l'en-tête expires spécifie une date future. - Lorsque les en-têtes
max-age
etexpires
sont tous deux définis,max-age
a la priorité.
Lorsque la directive cache-control
et les en-têtes expires
ne sont pas présents, CIS met en cache certains codes de réponse HTTP avec le TTL par défaut suivant :
Code de réponse | TTL |
---|---|
200, 206, 301 | 120 m |
302, 303 | 20 m |
404, 410 | 3 m |
403 | 1 m |
CIS offre plusieurs options pour personnaliser la mise en cache :
- Définir le comportement de mise en cache pour des URL individuelles en utilisant les règles de page CIS.
- Utilisez les fonctions de périphérie CIS ou l’ API pour personnaliser la mise en cache.
- Ajustez les niveaux de mise en cache, le TTL, et plus encore via le CLI de CIS.
La taille maximale des fichiers mis en cache par CIS est de 512 Mo pour les clients Trial et Standard Next, et de 5 Go pour les clients Enterprise. Les entreprises peuvent demander la mise en cache de fichiers plus volumineux en ouvrant un dossier d'assistance.
Extensions des fichiers mis en cache par défaut
CIS utilise les extensions de fichiers pour mettre le contenu en cache. Les fichiers dotés des extensions suivantes sont mis en cache automatiquement :
Extensions de fichier | |||
---|---|---|---|
bmp class css csv doc docx ejs eot eps |
gif ico jar jpg js mid midi otf pdf |
pict pls png ppt pptx ps svg svgz swf |
tif tiff ttf webp woff woff2 xls xlsx |
CIS ne met pas en cache le contenu en fonction du type MIME et, par défaut, il ne met pas en cache les pages HTML. Cependant, il met automatiquement en cache le fichier robots.txt
de votre site web. Pour mettre en cache du contenu
supplémentaire, tel que des pages HTML, vous pouvez définir des règles de page personnalisées afin de contrôler ce qui est mis en cache.
Diffusion d'un contenu périmé
Serve Stale Content conserve une version limitée du site en ligne si le serveur tombe en panne. Même si le contenu expire, CIS continue de servir le contenu mis en cache aux utilisateurs lorsque les serveurs d'origine sont hors ligne.
Comprendre les réponses du cache CIS
La sortie de l'en-tête CF-Cache-Status
indique si une ressource est en cache.
Code de réponse | Définition |
---|---|
HIT |
La ressource a été trouvée dans le cache CIS. |
MISS |
La ressource n'a pas été trouvée dans le cache CIS et a été servie par le serveur web d'origine. |
EXPIRED |
La ressource a été trouvée dans le cache mais a expiré depuis et a été servie par le serveur web d'origine. |
STALE |
La ressource a été servie à partir du cache, mais elle a expiré. CIS n'a pas pu contacter l'origine pour récupérer la ressource mise à jour. |
BYPASS |
Le serveur d'origine a demandé à CIS de contourner le cache en utilisant un en-tête cache-control dont la valeur est no-cache , private ou max-age=0 . BYPASS est renvoyé lorsque
vous activez l'origine cache-control . CIS définit également BYPASS lorsque le serveur web d'origine envoie des cookies dans l'en-tête de la réponse. |
REVALIDATED |
La ressource est servie à partir du cache, mais elle est périmée. La ressource a été revalidée par un en-tête If-Modified-Since ou If-None-Match . |
UPDATING |
La ressource a été servie à partir du cache, mais elle a expiré. La ressource est en cours de mise à jour par le serveur web d'origine. UPDATING n'est généralement utilisé que pour les ressources populaires mises en cache. |
DYNAMIC |
La ressource n'a pas été mise en cache par défaut et la configuration actuelle de la mise en cache de CIS n'indique pas à CIS de mettre la ressource en cache. A la place, la ressource a été demandée au serveur Web d'origine; Utilisez des règles de page pour appliquer des options de mise en cache personnalisées. |
Utilisation du tri des chaînes de requête
Entreprise uniquement: CIS traite les URL dont les chaînes de requête sont dans un ordre différent comme des fichiers distincts dans le cache. Par exemple, si un utilisateur demande :
/video/123456?title=0&byline=0&portrait=0&color=987654
et une autre demande :
/video/123456?byline=0&color=987654&portrait=0&title=0
CIS récupère à nouveau le fichier à l'origine, même s'il a déjà été mis en cache.
La fonction de tri des chaînes de requête trie les chaînes de requête "avant" la mise en cache, ce qui augmente les taux de réussite de la mise en cache. Vous pouvez activer le tri des chaînes de requête en utilisant le bouton de basculement sur la page de mise en cache.