en Programacion

Limpiar / Anular el Application Cache de una aplicación web

Una de las funcionalidades más interesantes de HTML5 es el Application Cache, un fichero de configuración en el que se indican los elementos de la aplicación web que se van a almacenar en el navegador web del usuario, haciendo que la aplicación no tenga que volver a realizar las peticiones al servidor para descargar los contenidos en las siguientes visitas a la página.

En HTML5Rocks dispones de un tutorial con los aspectos básicos para comenzar a usar el Application Cache en tus aplicaciones web.

Lo que no daba encontrado era la forma de anular el uso del caché una vez que se había usado previamente. Buscando en los foros solamente encontraba la forma de vaciar el caché a través del navegador (por ejemplo, en Chrome accediendo a chrome://appcache-internals/), pero buscaba la forma de desactivar el fichero desde el servidor.

La solución era más sencilla de lo que pensaba: para marcar un fichero de Application Caché, normalmente con nombre offline.appcache, como obsoleto y que la webapp deje de utilizarlo basta con hacer que el acceso a ese fichero provoque un error 404. Desde ese momento el navegador dejará de usar la caché local.

Una forma sencilla de provocar ese 404 es modificar el documento .htaccess para que el acceso a ese fichero nos lance la excepción:

RewriteCond %{REQUEST_URI} (offline.appcache)
RewriteRule .* - [L,R=404]