248 votes

Les navigateurs web mettront-ils le contenu en cache sur https ?

Le contenu demandé via https sera-t-il toujours mis en cache par les navigateurs web ou considèrent-ils ce comportement comme peu sûr ? Si c'est le cas, y a-t-il un moyen de leur dire que la mise en cache est autorisée ?

0 votes

Oui, les navigateurs mettent en cache le contenu sur HTTPS, consultez ce lien neopatel.blogspot.com/2010/02/

1 votes

@KalpeshPatel, Cela dépend de l'identité de l'entreprise. utilisateur paramètres. Certains ont désactivé la mise en cache pour tous Pages HTTPS blogs.msdn.com/b/ieinternals/archive/2010/04/21/

192voto

MarkR Points 37178

A partir de 2010, tous les navigateurs modernes et actuels mettent en cache le contenu HTTPS par défaut, à moins qu'on ne leur demande explicitement de ne pas le faire.

Es no nécessaire pour fixer cache-control:public pour que cela se produise.

Source : Chrome , IE , Firefox .

6 votes

Il semble donc que la tendance générale soit d'autoriser la mise en cache des objets HTTPS ; c'est normalement une bonne chose, car les développeurs devraient dire au navigateur de ne pas mettre en cache les objets s'ils sont sensibles à la confidentialité, et l'autoriser à le faire s'ils ne le sont pas (par exemple, les images, les css, qui sont très bénéfiques pour les performances, surtout sur HTTPS). Merci pour cela.

2 votes

Est-il conforme à la RFC de mettre en cache automatiquement des ressources HTTPS sans cache-control:public ?

0 votes

Les navigateurs considèrent les RFC comme des "demandes de commentaires". Le plus souvent, les RFC sont modifiés pour refléter ce qui existe déjà dans les navigateurs.

134voto

ConroyP Points 24021

Par défaut, les navigateurs web doivent mettre en cache le contenu sur HTTPS de la même manière que sur HTTP, sauf indication contraire explicite via l'option En-têtes HTTP reçu.

Ce lien est une bonne introduction au paramétrage du cache dans les en-têtes HTTP.

Y a-t-il un moyen de leur dire qu'ils peuvent mettre en cachette ?

Cela peut être réalisé en définissant l'option max-age dans le Cache-Control à une valeur différente de zéro, par ex.

Cache-Control: max-age=3600

indique au navigateur que cette page peut être mise en cache pendant 3600 secondes (1 heure).

0 votes

Si un utilisateur visite mysite.com et télécharger style.css, quand ils vont à mysite.com style.css serait-il à nouveau demandé ?

12 votes

Je ne suis pas sûr que nous soyons tous sur la même longueur d'onde ici. S'agit-il de savoir si le contenu HTTPS sera mis en cache par défaut ou de savoir s'il sera mis en cache en supposant que certains en-têtes de réponse HTTP soient présents ? Le lien de Mark Nottingham vers le tutoriel sur la mise en cache du Web que vous avez cité indique en fait que le contenu sécurisé (c'est-à-dire HTTPS) ou authentifié ne sera pas mis en cache, sauf si l'en-tête cache-control indique qu'il s'agit d'un contenu public.

2 votes

Je suis tombé sur un bel article : blog.httpwatch.com/2011/01/28/top-7-mythes-sur-les-https

0voto

Ashim Nath Points 1

Https est mis en cache par défaut. Ceci est géré par un paramètre global qui ne peut pas être remplacé par des directives de cache définies par l'application. Pour remplacer le paramètre global, sélectionnez l'applet Options Internet dans le panneau de configuration, et allez dans l'onglet avancé. Cochez la case "Ne pas enregistrer les pages cryptées sur le disque" dans la section "Sécurité". L'utilisation du protocole HTTPS n'a aucune incidence sur la décision d'IE de mettre ou non une ressource en cache.

WinINet ne met en cache que les réponses HTTP et FTP, pas les réponses HTTPS. https://msdn.microsoft.com/en-us/library/Windows/desktop/aa383928%28v=vs.85%29.aspx

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