it-swarm-es.com

¿Cómo puedo hacer que un navegador descargue una nueva copia de una página web cuando cree que su copia en caché sigue siendo válida?

A veces, cuando hago pequeños cambios en un sitio web, me doy cuenta de que ciertos navegadores son muy tercos al volver a descargar la página. Tanto F5 como CTRL-R no tienen valor y la única forma de solucionarlo es pasar por las opciones y decirle manualmente que borre el caché. He usado PHP antes para enviar un encabezado de limpieza de caché, pero ¿hay alguna forma más simple o mejor?

5
dmsnell

Depende de lo que esté en caché. Si es la página principal, la única forma de evitar el almacenamiento en caché es usar el encabezado HTTP sin caché.

Sin embargo, tenga en cuenta que los archivos JS y CSS también suelen almacenarse en caché. Un truco para invalidarlos cuando cambian el uso de muchos sitios web, incluido este, es agregar un número ficticio después del '?'. Todo después del '?' es ignorado por el servidor web, pero como la URL cambia, el navegador siempre lo vuelve a descargar.

Un ejemplo tomado de esta misma página: http://sstatic.net/webmasters/all.css?v=ac775b7bd951. El "ac775b7bd951" proviene de Mercurial, el sistema de versiones utilizado. Puede hacer algo similar con svn (ejemplo: all.css? Revision = 123).

6
Thomas Bonini

F5 se actualiza utilizando el caché. Ctrl-F5 ignorará el caché. No estoy seguro, pero parece que Ctrl-R es equivalente a F5 en lugar de Ctrl-F5.

2
Rebecca Chernoff