una recargar pagina navegadores los forzar evitar equiv content chrome caché cache borrar aplicación almacenar actualizar html internet-explorer firefox caching asp.net-web-api

html - recargar - ¿Usando etiquetas<meta> para desactivar el almacenamiento en caché en todos los navegadores?



no cache html5 (6)

Esta pregunta ya tiene una respuesta aquí:

Leí que cuando no tiene acceso a los encabezados del servidor web, puede desactivar el caché usando:

<meta http-equiv="Cache-Control" content="no-store" />

Pero también leí que esto no funciona en algunas versiones de IE. ¿Hay algún conjunto de etiquetas <meta> que desactivará la memoria caché en todos los navegadores?


Para navegadores web modernos (después de IE9)

¡Vea el duplicado en la parte superior de la página para obtener información correcta!

Vea la respuesta aquí: ¿Cómo controlar el almacenamiento en caché de páginas web en todos los navegadores?

Para IE9 y antes

¡No copie ciegamente esto!

La lista es solo ejemplos de diferentes técnicas, no es para inserción directa. Si se copia, el segundo sobrescribiría el primero y el cuarto sobrescribiría el tercero debido a las declaraciones http-equiv Y fallaría con el validador W3C. A lo sumo, uno podría tener una de cada declaración http-equiv; Pragma, cache-control y caduca. Estos están completamente desactualizados cuando se utilizan navegadores modernos y actualizados. Después de IE9 de todos modos. Chrome y Firefox específicamente no funcionan con estos como cabría esperar, en todo caso.

<meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> <meta http-equiv="pragma" content="no-cache" />

En realidad no los use en absoluto!

Los encabezados de caché no son confiables en los meta elementos; Por un lado, cualquier proxy web entre el sitio y el usuario los ignorará por completo. Siempre debe usar un encabezado HTTP real para encabezados como Cache-Control y Pragma.


Este es un enlace a un gran estudio de caso sobre el malentendido de la industria de controlar los cachés.

http://securityevaluators.com/knowledge/case_studies/caching/

En resumen, de acuerdo con este artículo, solo Chrome, Firefox e IE reconocen Cache-Control: no-store . IE reconoce otros controles, pero Chrome y Firefox no.


Intenta usar

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1">


No funciona en IE5, pero eso no es un gran problema.

Sin embargo, los encabezados de caché no son confiables en los meta elementos; Por un lado, cualquier proxy web entre el sitio y el usuario los ignorará por completo. Siempre debe usar un encabezado HTTP real para encabezados como Cache-Control y Pragma.


Noté algunos problemas de almacenamiento en caché con las llamadas de servicio al repetir la misma llamada de servicio (sondeo largo). Agregar metadatos no ayudó. Una solución es pasar una timestamp de timestamp para asegurarse de que es una solicitud de servicio http diferente. Eso me funcionó, así que agregar un fragmento de código de secuencias de comandos del lado del servidor para actualizar automáticamente esta etiqueta no estaría mal:

<meta http-equiv="expires" content="timestamp">


pragma es tu mejor apuesta

<meta http-equiv="Pragma" content="no-cache">