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




http-equiv="pragma" content="no-cache"> (6)

pragma es tu mejor apuesta

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

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?


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">


Intenta usar

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

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.


Como han dicho otros, la respuesta es autocomplete="off"

Sin embargo, creo que vale la pena explicar por qué es una buena idea usar esto en ciertos casos, ya que algunas respuestas a esto y preguntas duplicate han sugerido que es mejor no apagarlo.

La detención de los navegadores que almacenan números de tarjetas de crédito no debe dejarse a los usuarios. Demasiados usuarios ni siquiera se darán cuenta de que es un problema.

Es particularmente importante desactivarlo en los campos para códigos de seguridad de tarjetas de crédito. Como esta página dice:

"Nunca almacene el código de seguridad ... su valor depende de la presunción de que la única forma de suministrarlo es leerlo en la tarjeta de crédito física, lo que demuestra que la persona que lo suministra posee la tarjeta".

El problema es que, si se trata de una computadora pública (cibercafé, biblioteca, etc.) es fácil para otros usuarios robar los datos de su tarjeta, e incluso en su propia máquina, un sitio web malicioso podría robar datos de autocompletado .





html internet-explorer firefox caching asp.net-web-api