173 votes

Qu'est-ce que Cache-Control: private?

Lorsque je visite chesseng.herokuapp.com je reçois une réponse d'en-tête qui ressemble à

Cache-Control:private
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/css
Date:Tue, 16 Oct 2012 06:37:53 GMT
Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT
Status:200 OK
transfer-encoding:chunked
Vary:Accept-Encoding
X-Rack-Cache:miss

et puis j'ai actualiser la page et d'obtenir

Cache-Control:private
Connection:keep-alive
Date:Tue, 16 Oct 2012 06:20:49 GMT
Status:304 Not Modified
X-Rack-Cache:miss

donc il semble que la mise en cache est de travail. Si cela fonctionne pour la mise en cache, alors quel est le point de Expires et Cache-Control:max-age. Pour ajouter à la confusion, quand je teste la page https://developers.google.com/speed/pagespeed/insights/ il me dit "effet de Levier de mise en cache du navigateur".

176voto

Dan D. Points 17448
Cache-Control: private

Indique que l'ensemble ou une partie du message de la réponse est conçu pour un seul utilisateur et ne DOIT PAS être caché par un cache partagé, comme un serveur proxy.

À partir de la RFC2616 section 14.9.1

22voto

Paul Draper Points 14352

La RFC 2616, section 14.9.1:

Indique que l'ensemble ou une partie du message de la réponse est conçu pour un seul utilisateur et ne DOIT PAS être caché par un cache partagé...Un privé (non partagé) cache PEUT mettre en cache la réponse.


Les navigateurs pourraient utiliser cette information. Bien sûr, l'actuel "utilisateur" peut signifier beaucoup de choses: l'utilisateur de l'OS, le navigateur de l'utilisateur (par exemple, google Chrome, profils), etc. Il n'est pas spécifié.

Pour moi, un exemple plus concret de l' Cache-Control: private , c'est que les serveurs proxy (qui ont généralement de nombreux utilisateurs) ne sont pas dans le cache. Il est destiné à l'utilisateur final, et personne d'autre.


Pour info, le RFC précise que ce n'est pas d'assurer la sécurité. Il s'agit de montrer le bon contenu, pas de sécurisation de contenus.

Cet usage du mot en privé seulement des contrôles où la réponse peut être mise en cache, et ne peut assurer la confidentialité du contenu du message.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X