Cache en CDN mais pas dans le navigateur
J'utilise actuellement Akamai comme CA, mais j'ai remarqué que le navigateur est également mise en cache de contenu. Il est grand temps que le navigateur met en cache les images/css/js, mais je voudrais savoir si il existe un moyen de pas cache sur le navigateur, mais cache en Akamai.
Maintenant, dès maintenant à partir de mon origine je envoyer des en-têtes comme ceci:
Cache-Control: public, must-revalidate, max-age=300
Expires: Sun, 19 Feb 2012 19:04:30 GMT
Date: Sun, 19 Feb 2012 18:59:30 GMT
Akamai rend hommage à ces en-têtes, mais passe aussi leur droit à l'utilisateur. Cela rend donc le navigateur en fait met en cache le contenu aussi.
Cela fonctionne très bien la plupart du temps, mais nous avons aussi quelques CDN logique que si un utilisateur a ouvert une session et des cookies, pour contourner le cache du CDN et passer directement à l'origine.
Donc, si disons un un-authed utilisateur est sur un clique sur "login", ils sont ensuite envoyés à travers le processus de connexion et ramené à la même page. Même si le CA en ferait la demande, de l'origine de cette page, le navigateur demande en fait de nouveau la même page et il semble que si la connexion n'a pas fonctionné.
Maintenant, je peux forcer un processus d'ouverture de session ajoute une requête param ?l=1, ou quelque chose, mais il y a une meilleure façon.
Je suis tenté de voir si Akamai peut remplacer le la-tête Cache-Control pour une codés en dur valeur " no-cache, mais je me demandais si il existe un moyen de le faire dans origine?
Merci!
source d'informationauteur Jorge Lopez | 2012-02-19
Vous devez vous connecter pour publier un commentaire.
Akamai a un en-tête appelé "Bord-contrôle" de le même format que Cache-Control. Vous pouvez spécifier le Bord-contrôle positif max-age et puis set Cache-Control "no-cache, no-store". Cela devrait obtenir ce que vous voulez.
Lors de l'envoi de la Pointe-de contrôle de l'en-tête d'une page, je veux le cache, j'ai toujours précéder la valeur avec "!no-store" pour s'assurer que Akamai caches. De sorte que le format serait "!no-store,max-age=1234", par exemple.
Akamai fournit un moyen de définir différents mise en cache de comportement au sein de la Akamai serveurs vs l'habitude de Cache-Control: et Expire le: les en-têtes. Il y a des en-têtes personnalisés, vous pouvez passer à partir de vos serveurs d'origine que l'Akamai edge serveurs de comprendre, respecter et la bande lorsqu'ils passent du contenu sur le navigateur. Cette information est disponible dans la Akamai portail de la documentation.
Dans votre cas, vous voulez que le comportement change selon que l'utilisateur est connecté ou non. Vous pouvez demander que l'objet contourne le cache lorsque l'objet est livré à l'navigateur pour les utilisateurs enregistrés ou vous pouvez utiliser les valeurs des cookies pour modifier la clé de cache (la façon dont l'objet est référencé par l'Akamai serveur), mais vous pouvez avoir besoin de parler avec Akamai pour obtenir de l'aide ici.
Vous devez être très prudent pour s'assurer que quelque chose de personnalisé ne peut pas être vus par les autres utilisateurs de la cache Akamai. En cas de doute, se tromper sur le côté de la prudence et de ne pas autoriser d'Akamai pour le cache de l'objet.