without headers force control cache html caching reload

html - headers - Obliga al navegador a recargar index.htm



html headers no cache (4)

¿Cómo puedo obligar a un navegador a cargar siempre la versión más reciente de index.htm cuando se carga la página ingresando la URL www.mydomain.com/index.htm o simplemente www.mydomain.com en el campo de dirección del navegador y presionando la tecla Intro?

Estoy probando esto en Chrome y la versión más reciente de index.htm aparentemente solo se carga, cuando actualizo manualmente (F5), o cuando la URL ya está en el campo de dirección del navegador y presiono Intro.

Supongo que estoy haciendo algo extremadamente estúpido, porque cuando busqué el problema, todo lo que pude encontrar fueron soluciones sobre cómo hacer que un navegador vuelva a cargar los archivos .js y .css añadiendo? V = xxxx a los nombres de los archivos. Pero, ¿cómo debería funcionar esto, si no es que está cargada la versión más reciente de index.htm page, en la que estoy haciendo estas modificaciones?

También intenté poner

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

en el <head> de index.htm. Pero esto no parece tener ningún efecto.

Cualquier ayuda sería muy apreciada!

Gracias linus



OK, aparentemente no-caché no era suficiente. Lo siguiente hace el truco:

<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0" /> <meta http-equiv="cache-control" content="max-age=0" /> <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" />


Para hacer esto, deberá realizar una codificación del lado del servidor a lo largo del camino. Puedes usar tecnologías como PHP o ASP.NET para esto. Prefiero la codificación con PHP, así que aquí hay un ejemplo basado en PHP. En primer lugar, asegúrese de que su ÍNDICE se llame "index.php", en lugar de "index.html" o "index.htm". Ahora, tome nota de los siguientes códigos y haga que se integren en su archivo index.php, al mismo tiempo que inserta el contenido de su propia página:

<html> <?php header("Content-Type: text/event-stream"); header("Cache-Control: no-cache"); ?> <head> <script> var sse = new EventSource("index.php"); sse.onmessage = function(event) { document.write(event.data); } </script> </head> <body> <!-- Insert HTML Codes --> <?php flush(); ?> </body> </html>


Puede usar el siguiente código para actualizar o recargar la página de índice cargada actualmente desde una dirección URL ingresada directamente en la barra de direcciones del navegador, después de un número específico de segundos, lo que obliga al navegador a recargar siempre el documento actual. En este caso, el número de segundos se ha establecido en 5:

<meta http-equiv="refresh" content="5" />

Tenga en cuenta que establecer la cantidad de segundos en 0 hará que la página se vuelva a cargar automáticamente al instante, cada vez que se descargue con éxito.