Los navegadores web almacenarán en caché el contenido a través de https


245

¿Los navegadores web almacenarán en caché el contenido solicitado a través de https o considerarán este comportamiento inseguro? Si este es el caso, ¿hay alguna forma de decirles que está bien almacenar en caché?


Sí, los navegadores almacenarán en caché el contenido a través de HTTPS. Consulte este enlace neopatel.blogspot.com/2010/02/…
Kalpesh Patel

@KalpeshPatel, eso depende de la configuración del usuario . Algunos han configurado el almacenamiento en caché en deshabilitado para todas las páginas HTTPS blogs.msdn.com/b/ieinternals/archive/2010/04/21/…
Pacerier

Respuestas:


134

Por defecto, los navegadores web deben almacenar en caché el contenido a través de HTTPS igual que a través de HTTP, a menos que se indique explícitamente lo contrario a través de los Encabezados HTTP recibidos.

Este enlace es una buena introducción a la configuración de la memoria caché en los encabezados HTTP.

¿hay alguna forma de decirles que está bien almacenar en caché?

Esto se puede lograr estableciendo el max-agevalor en el Cache-Controlencabezado en un valor distinto de cero, p. Ej.

Cache-Control: max-age=3600

le dirá al navegador que esta página se puede almacenar en caché durante 3600 segundos (1 hora)


Si un usuario visitara mysite.com y descargara style.css, cuando vaya a mysite.com , ¿se solicitará nuevamente style.css?
Frank

12
No estoy seguro de que todos estemos en la misma página aquí. ¿Estamos hablando de si el contenido HTTPS se almacenará en caché de forma predeterminada, o estamos preguntando si se almacenará en caché suponiendo ciertos encabezados de respuesta HTTP? El enlace al tutorial de almacenamiento en caché web al que se vinculó desde Mark Nottingham en realidad indica que el contenido seguro (es decir, HTTPS) o autenticado no se almacenará en caché a menos que el encabezado de control de caché indique que es contenido público.
Edward Shtern


1
Firefox eliminó el requisito de Cache-Control: público hace años.
GreenReaper

1
Esta afirmación "los navegadores web deben almacenar en caché el contenido a través de HTTPS" me parece incorrecta. ¿Por qué deberían hacerlo? Además, verifique el comentario debajo de una persona del equipo de cromo " code.google.com/p/chromium/issues/detail?id=110649#c6 " Él dice "De hecho, no se está almacenando en caché (en el caché persistente)"
Teoman shipahi

192

A partir de 2010, todos los navegadores modernos y actuales actualizan el contenido HTTPS de forma predeterminada, a menos que se les indique explícitamente que no lo hagan.

Se no requiere de conjunto cache-control:publicpara que esto suceda.

Fuente: Chrome , IE , Firefox .


66
Parece entonces que la tendencia general es permitir el almacenamiento en caché de objetos HTTPS; Esto normalmente es una buena cosa, ya que los desarrolladores deberían decirle al navegador que no almacene objetos en caché si son sensibles a la privacidad, y permitir que lo haga cuando no lo son (por ejemplo, imágenes, CSS, que es muy beneficioso para el rendimiento, especialmente en HTTPS). Gracias por eso.
MarkR

2
¿Es compatible con RFC almacenar automáticamente en caché los recursos HTTPS sin cache-control:public?
Pacerier

Los navegadores @Pacerier consideran RFC literal "solicitud de comentarios". con mayor frecuencia, los RFC cambian para reflejar lo que ya está en los navegadores.
gcb

0

Https se almacena en caché de forma predeterminada. Esto se gestiona mediante una configuración global que no puede ser anulada por las directivas de caché definidas por la aplicación. Para anular la configuración global, seleccione el applet de Opciones de Internet en el panel de control y vaya a la pestaña avanzada. Marque la casilla "No guardar páginas cifradas en el disco" en la sección "Seguridad", pero el uso de HTTPS solo no tiene ningún impacto sobre si IE decide o no almacenar en caché un recurso.

WinINet solo almacena en caché las respuestas HTTP y FTP, no la respuesta HTTPS. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928%28v=vs.85%29.aspx

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.