4 votes

Comment les serveurs mandataires gèrent-ils les ETags ?

J'utilise les ETags pour améliorer les performances. J'ai décidé d'utiliser un Etag qui est valide sur le serveur, le client et le proxy.

Mais comment cela se passe-t-il si le proxy a sauvegardé l'ETag ? Le proxy demande-t-il toujours au site web si l'ETag est valide ou répond-il simplement "Je connais celui-ci. Pas besoin de demander au serveur ?

En d'autres termes, le scénario suivant fonctionne-t-il toujours si l'option ETag-Caching on Proxy est activée ?

  1. Le navigateur effectue une requête. Un ETag "ABBA" est renvoyé
  2. Le navigateur adresse une nouvelle demande au serveur. L'ETag "ABBA" est reconnu, une réponse 304 est renvoyée. 2.1 Le navigateur utilise le cache local
  3. Le navigateur adresse une nouvelle demande au serveur, en envoyant l'ETag "ABBA". Cette fois, le serveur décide que les données ont changé et renvoie donc une nouvelle réponse avec un nouvel ETag.

Si entre le client et le serveur il y a un proxy qui connaît l'ETag, est-ce qu'il demande toujours au serveur si l'Etag est valide ou est-ce que la requête s'arrête là si le proxy connaît déjà l'Etag ?

3voto

snowdude Points 2790

Le comportement du serveur proxy est principalement contrôlé par votre Cache-Control tel qu'il est défini par le serveur dorsal.

Tant que la ressource n'a pas expiré, le proxy la servira (y compris toutes les métadonnées associées telles que l'ETag) à partir du cache. Le mandataire n'a pas besoin de contacter le serveur pour valider le contenu original tant qu'il est autorisé à conserver la ressource en cache.

Lorsque l'en-tête Cache-Control indique que la ressource doit expirer du cache ou être revalidée, le serveur mandataire contacte à nouveau le serveur pour valider la ressource d'origine. Si l'ETag n'a pas été modifié sur le serveur, il n'est pas nécessaire de le télécharger à nouveau, le même objet (mais avec des délais de Cache-Control mis à jour) peut rester dans le cache.

Cette ressource peut présenter un intérêt.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X