¿Usar etiquetas para desactivar el almacenamiento en caché en todos los navegadores? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

He leído que cuando no tienes acceso a los encabezados del servidor web puedes desactivar la 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 que se convertirán fuera de caché en todos los navegadores?

Author: Rao Adnan, 2009-08-27

6 answers

Para los navegadores web modernos (Después de IE9)

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

Ver 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, pegue esto!

La lista es solo ejemplos de diferentes técnicas, no es para directa inserción. Si se copia, el segundo sobrescribiría el primero y el cuarto sobrescribiría el tercero debido al http-equiv declaraciones Y falla con el validador W3C. A lo sumo, uno podría tener una de cada declaraciones http-equiv; pragma, cache-control y expirar. 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 funciona con estos como cabría esperar, si es que lo hace.

<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 utilice estos en absoluto!

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

 677
Author: CommonKnowledge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-30 21:14:16

Este es un enlace a un gran Estudio de Caso sobre el malentendido de la industria sobre el control de cachés.

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

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

 73
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-21 19:55:16

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

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

 25
Author: bobince,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-27 13:30:50

Pragma es tu mejor apuesta:

<meta http-equiv="Pragma" content="no-cache">
 5
Author: Kshitij Saxena -KJ-,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-27 13:30:18

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 un timestamp para asegurarse de que ie piensa que es una solicitud de servicio http diferente. Eso funcionó para mí, por lo que agregar un fragmento de código de scripting del lado del servidor para actualizar automáticamente esta etiqueta no haría daño:

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

 4
Author: Elad Elrom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-15 06:27:17

Intenta usar

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
 -3
Author: orf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-07 12:57:13