web-dev-qa-db-fra.com

Quel est l'âge minimum pour un en-tête Cache-Control avec Akamai?

Nous prévoyons une intégration avec un CDN (probable Akamai) et nous essayons de déterminer le niveau le plus bas possible pour une valeur maximale.

Pour un site susceptible de toucher quelques centaines de milliers de personnes après la publication d'un tweet, la mise en cache du contenu contribuera à réduire le fardeau des serveurs. Cela dit, notre client est sensible au fait de ne pas pouvoir modifier rapidement le contenu si quelque chose devait être publié prématurément.

Notre plan a été de mettre en place un processus de contrôle en cache mis en place par étapes, dans lequel nous commençons les premières premières minutes à 10 minutes à un âge de cache-contrôle max (20-30 secondes?) Puis, lorsque les choses semblent en ordre de marche, nous allons commencer à augmenter l'âge maximum car le contenu est en direct depuis un certain temps. Par exemple, après quelques heures, nous pourrions commencer à régler cela à 60 minutes ... et après une journée, nous pourrions l'étrangler d'une journée.

En revenant à la question initiale, est-il possible de définir un en-tête de contrôle du cache à un niveau bas tel que 20-30 secondes? (Akamai fixe-t-il une valeur minimale ici? Je n'ai pas été en mesure de retrouver des détails ici dans mes recherches Google)

4
Robby Russell

Akamai n'a pas de valeur minimale de Cache TTL. Vous pouvez définir 1 seconde ou 0. Toutefois, ce que vous tentez de faire est mieux réalisé avec les en-têtes de contrôle du cache Origin, car la modification des paramètres sur Akamai n'est pas instantanée en raison de la taille du réseau.

Je vous recommande de commencer avec au moins 5 minutes pour commencer, bien que 10 minutes soit le plus bas idéal.

Maintenant, pour modifier le contenu, je suggère d'utiliser la combinaison suivante sur votre contenu mis en cache avec Akamai.

  • définir un dernier en-tête modifié sur votre contenu
  • Sur Akamai, configurez IMS check ou TTL de 30 secondes à 1 minute.
  • Lorsque le contenu est modifié, définissez correctement la nouvelle date et l'heure par code. Assurez-vous que votre horloge système est correctement réglée du côté origine. Assurez-vous que le format de l'en-tête LMS est correct.

Avec ce qui précède, vous ne servirez que 304 personnes sans contenu corporel si rien ne change

  • Vous pouvez également utiliser "Etag" et demander que "Etag" soit activé sur votre configuration Akamai.
  • chaque fois que le contenu est modifié, mettez à jour l'eTag. Les étiquettes ne sont pas automatiquement activées sur Akamai
1

Je ne les utilise pas depuis longtemps, mais si vous parlez de l'en-tête de contrôle du cache qu'ils définissent lorsqu'ils servent du contenu à partir de leur CDN, celui-ci est extrait de votre source. Ainsi, par exemple, si vous avez un tirage avec l'en-tête de contrôle du cache de 10 ans maximum, le CDN le copie. (même chose pour Cloudfront). MaxCDN est le seul CDN que je connaisse qui vous permet de remplacer ces en-têtes via l'interface.

En ce qui concerne CDN, vous définissez généralement la mise en cache le plus longtemps possible. À quoi correspond un CDN (autre qu'un moyen coûteux de géolocaliser votre site) si les en-têtes de contrôle du cache sont définis de manière aussi brève. Lorsque vous avez de brefs en-têtes, le cdn doit contacter votre site pour extraire du nouveau contenu. Cela peut retarder le visiteur, ce qui en fait le contenu lui-même. C'est ce que l'on appelle un cache cache.

Votre meilleur pari si vous envisagez d’intégrer progressivement le CDN est de l’utiliser uniquement pour les ressources statiques telles que Images, Icônes, CSS et Javascripts. Si vous créez votre CSS, vos images ou votre JS serverSide, vous devez rechercher un moyen de purger ces ressources ou, au mieux, les mettre à jour avec un paramètre de chaîne de requête ou un paramètre url.

Encore. Akami était tellement cher par rapport aux autres options, vous ne bénéficiez vraiment que de longs en-têtes de cache (environ un an)

1
Frank