¿Existe una etiqueta <meta> para desactivar el almacenamiento en caché en todos los navegadores? [duplicar]
Leí que cuando no tienes acceso a los encabezados del servidor web puedes 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. ¿Existe algún conjunto de etiquetas <meta> que desactiven el caché en todos los navegadores?
Para navegadores web modernos (posteriores a IE9)
¡Consulte el duplicado que aparece 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 y pegue esto a ciegas!
La lista son sólo 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 equivalentes a http Y fallaría con el validador W3C. Como máximo, se podría tener una de cada declaración http-equiv; pragma, control de caché 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 era de 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 uses en absoluto!
Los encabezados de almacenamiento en caché no son confiables en los metaelementos; Por un lado, cualquier proxy web entre el sitio y el usuario los ignorará por completo. Siempre debes usar un encabezado HTTP real para encabezados como Cache-Control y Pragma.
Según el gran estudio de caso de Independent Security Evaluators sobre el malentendido en toda la industria sobre el control de cachés , solo Cache-Control: no-store
Chrome, Firefox e IE lo reconocen. IE reconoce otros controles, pero Chrome y Firefox no.
No funciona en IE5, pero eso no es un gran problema.
Sin embargo, el almacenamiento en caché de encabezados no es confiable en metaelementos; Por un lado, cualquier proxy web entre el sitio y el usuario los ignorará por completo. Siempre debes usar un encabezado HTTP real para encabezados como Cache-Control y Pragma.
pragma es tu mejor opción:
<meta http-equiv="Pragma" content="no-cache">
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 ie
que se trata de una http
solicitud de servicio diferente. Eso funcionó para mí, por lo que agregar un fragmento de código de script del lado del servidor para actualizar automáticamente esta etiqueta no estaría de más:
<meta http-equiv="expires" content="timestamp">