2010-03-24 26 views
7

descubrí que al pulsar el botón de regreso se pone la página anterior de la caché del navegador, incluso si envío siguientes encabezados:¿Puedo desactivar la memoria caché del botón Atrás de FF3?

Test1.aspx

Server    ASP.NET Development Server/9.0.0.0 
Date   Wed, 24 Mar 2010 17:49:40 GMT 
X-AspNet-Version 2.0.50727 
Location   Test2.aspx 
Cache-Control no-cache, no-store 
Pragma   no-cache 
Expires   -1 
Content-Type text/html; charset=utf-8 
Content-Length 189 
Connection   Close 

Respuesta

4

expira debe ser una fecha + marca de tiempo y de control de caché "s "debe revalidata" & "max-age" podrían ayudar también

Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
+0

En realidad, la respuesta fue así de simple. Pero quiero conocer a otros. Los navegadores no almacenan en caché las páginas, sino que almacenan en caché las solicitudes. Entonces, si tiene una página Test.aspx con un enlace a sí mismo. Y el usuario abre primero la página, luego hace clic en el enlace (aquí no se agrega caché) y luego presiona el botón Atrás la página se recuperará de la caché porque la primera vez que se descargó sin la directiva no-cache –

+1

bien, las respuestas del caché de los navegadores , que en general son páginas, ¿no? y si no estoy confundiendo, "no-caché" ya estará en el encabezado de respuesta http incluso después de la primera solicitud. – futtta

+1

También debería incluir 'Cache-Control: no-store' para google chrome. – ajbeaven

1

Cache-Control y tales cosas sólo indicarle al navegador que no guarde en caché las cosas descargadas (js, css, imágenes, etc.). No se relaciona con la historia de las páginas visitadas.

No intente modificar los datos del navegador. En cambio, manejaría eventos y detendría los que no desea que sucedan en su sitio.

+4

¿Qué sucede si tengo datos confidenciales? Diga un quiosco público de votos. El usuario elige candidato a presidente y luego hace clic en enviar. Ahora el siguiente votante va al kiosco, presiona el botón Atrás y ve qué candidato ha seleccionado el usuario anterior, porque el navegador ni siquiera intentó obtener la última versión del servidor y la mostró desde el caché. ¿Que debería hacer entonces? –

+2

Significa que su aplicación se comporta mal. Las transacciones, sesiones y ese tipo de cosas están destinadas a manejar restricciones en el acceso a datos confidenciales. Cuando webapps dice "recuerda cerrar tu sesión", ¡lo dicen en serio! Además, si su aplicación coloca datos confidenciales en el caché del navegador, significa que está abriendo una nueva violación de seguridad. Simple y llana (a menos que lo cifre). No puede confiar en modificaciones no autorizadas de los datos del navegador (por definición, está del lado del usuario) para proporcionar seguridad. Demasiado como DRM, poniendo toda la seguridad en el mismo lado. – Alfabravo

1

Para mí la siguiente configuración en la cabecera trabajado?:

Pragma: no-cache

cache-control: no-cache, no-store

Expira: 0

Cuestiones relacionadas