IBM Cloud Docs
Mise en cache

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 valeur private, no-store, no-cache ou max-age=0, ou si un cookie est présent dans la réponse.
  • CIS met en cache les ressources si cache-control est public avec max-age supérieur à 0, ou si l'en-tête expires spécifie une date future.
  • Lorsque les en-têtes max-age et expires 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 :

Codes de réponse du cache par défaut
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 des fichiers mis en cache par défaut
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.

Codes de réponse du cache et définitions
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.