una navegadores navegador los leer forzar evitar chrome caché cache borrar aplicación actualizar apache caching

apache - navegadores - forzar a no leer el cache del navegador web



Cómo forzar a un navegador a actualizar una versión en caché de una página web (8)

Años más tarde, pero podría ayudar a alguien en el futuro: si tiene algún archivo javascript que no se almacena en caché en el futuro (es decir, si tiene alguna forma de ejecutar js nuevos en el sitio almacenado), agregue algunos js que borrará programáticamente la caché . Una vez que la configuración se haya solucionado y / o se haya completado la actualización, elimine la eliminación de caché js.

Ctrl + F5 en jquery para borrar el caché del navegador

Tengo un sitio web que debido a un archivo de confutación de apache mal preparado ha dado instrucciones a los usuarios para que guarden en caché la URL de un sitio web varios años en el futuro. Como resultado, cuando una persona visita el sitio, a menudo no intenta ni siquiera solicitarla. El navegador simplemente carga el HTML de la memoria caché.

Este sitio web está a punto de obtener una actualización importante, y me gustaría que los usuarios puedan verlo. ¿Hay alguna manera de obligar a un usuario a volver a solicitar la página web? Me temo que para algunos usuarios, a menos que presionen F5, pueden ver la página web anterior durante varios años.


Creo que no hay forma de hacer esto. Si nunca se ponen en contacto con tu servidor, no hay nada que puedas hacer al respecto.


Es discutible que si su "actualización principal" es solo en unas pocas (2 o 3) semanas, solo necesita reconfigurar su apache conf ahora (no hay mucho futuro para html, solo para activos y contenido que probablemente nunca cambien) ) El caché de Firefox es ~ 50MB por defecto y eso no es mucho porque las imágenes también se almacenan en caché y los sitios web modernos tienen mucho contenido.

No es perfecto, pero eso es lo que haría, cuando no quiero o no puedo cambiar las URL;)


Hay varias opciones para lograr esto Primero En la sección agregar metaetiqueta:

<meta http-equiv="pragma" content="no-cache" />

Básicamente, el navegador no almacenará en caché la página.

Otra opción es configurar sesiones, esto obligará al navegador a una nueva sesión cada vez que vaya, y así hará que el navegador obtenga la página del servidor en lugar de la memoria caché

<?php session_start(); $_SESSION = array(); session_destroy(); ?>

Puede agregar esto a su sitio web durante un par de días y luego eliminarlo. Realmente no sé si servirá, pero tal vez lo encuentres útil


Me doy cuenta de que esta pregunta es muy antigua, pero tengo una respuesta viable:

Por supuesto, puede forzar nuevas URL para evitar cachés comunes (no a largo plazo) ...

Es decir

  • Agregar consulta a archivos estáticos .js / .css / .html
  • Agregar la etiqueta meta pragma para no-caché
  • Redirecciones del lado del servidor, sin caché, eliminar cookies, sesiones, etc.

Sin embargo, en un escenario como este (anteriormente apache .conf editado para el almacenamiento en caché desde hace mucho tiempo) ya que no puede cambiar el dominio para fines de SEO, hay un ''truco crudo'' que puede usar para minimizar el impacto en SEO:

Copie su página de índice (es decir, index.php) en una página nueva (es decir, index_new.php) y edite httpd.conf (o equivalente) para que DirectoryIndex sea la nueva página. Luego simplemente elimine o mueva su página anterior, teóricamente siempre debería redireccionar a la nueva página.

Es decir, en Debian / Ubuntu:

cd /var/www cp index.php index_new.php sudo vim /etc/apache2/sites-enabled/000-default <Directory /var/www/> ... DirectoryIndex index_new.php </Directory> mv index.php index_old.php sudo service apache2 restart

Y ahí tienes.


Puede hacer todos los cambios necesarios dentro de los archivos HTML, como

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

Pero también, puedes decirle explícitamente a Apache que use el módulo mod_expires.c y agregar un par de directivas al archivo httpd.conf:

<IfModule mod_expires.c> # Turn on the module. ExpiresActive on # Set the default expiry times. ExpiresByType text/html "modification plus 5 seconds" ExpiresByType text/javascript "modification plus 5 seconds" ExpiresDefault "access plus 2 days" </IfModule>

De esta forma, agrega el control de caché de encabezados http y expira, a las respuestas, para que el navegador actualice la caché 5 segundos después de que el archivo se modificó en el origen, para ese tipo de archivos, y 2 días después de que el navegador para todos los otros tipos de archivos.

Espero que esto ayude.


Utiliza diferentes URL Si el punto de entrada principal a su sitio web (como el archivo de índice principal) está almacenado en la memoria caché, entonces está jodido ... ¿tal vez debería registrar otro nombre de dominio?


cambiar las URL de cada recurso