¿Cómo puedo borrar el caché en gwt?cómo borrar el caché en gwt?
o hay alguna forma de evitar que el navegador guarde el caché en gwt?
¿Cómo puedo borrar el caché en gwt?cómo borrar el caché en gwt?
o hay alguna forma de evitar que el navegador guarde el caché en gwt?
Cuando implementa una aplicación GWT, es importante evitar que los proxies y los navegadores guarden en caché los archivos .nocache.js generados por GWT. Una solución es implementar un filtro de servlet que agregue los encabezados HTTP necesarios que controlan el comportamiento de almacenamiento en caché.
Así es un filtro de este tipo: http://seewah.blogspot.com/2009/02/gwt-tips-2-nocachejs-getting-cached-in.html
Los encabezados en ese ejemplo son:
Date: Wed, 24 Nov 2010 20:32:43 GMT
Expires: Wed, 01 Nov 2000 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, no-store, must-revalidate
Date
se debe establecer en el momento de la solicitud.
Expires
es mejor configurarlo en algún momento en el pasado, esto obliga a todos a considerar que el contenido ya está desactualizado.
Pragma
es una etiqueta que ha sido reemplazada por Cache-Control
, pero no está de más tenerla.
Cache-Control
no-cache
significa que un navegador o proxy debe revalidar una copia almacenada en caché antes de liberarla al cliente. no-store
significa que nadie está guardando una copia en caché (lo que hace que no-cache
sea redundante). must-revalidate
dice que el navegador/proxy debe obedecer la información de frescura y revalidar, también es redundante con no-store
.
La mejor manera de hacerlo cuando tiene un servidor Apache2 en el medio es configurar su Host virtual para descargar archivos css nocache siempre. Aquí tienes un ejemplo: http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/comment-page-1/#comment-23996.
poner esto en el archivo de servidor virtual:
<IfModule mod_expires.c>
ExpiresActive On
</IfModule>
<IfModule mod_headers.c>
<ProxyMatch (.*)nocache\.js$>
Header Set Cache-Control "max-age=0, no-store"
</ProxyMatch>
<ProxyMatch (.*)\.cache\.(.*)>
Header Set Cache-Control "max-age=31536000, public, must-revalidate"
</ProxyMatch>
<ProxyMatch (.*)\.cache\.js$>
Header Set Cache-Control "max-age=31536000, private"
</ProxyMatch>
</IfModule>
<Proxy *>
<IfModule mod_expires.c>
ExpiresByType application/json "now"
ExpiresByType text/css "now"
ExpiresByType text/html "now"
</IfModule>
<ifModule mod_headers.c>
Header unset ETag
Header unset Last-Modified
</ifModule>
FileETag None
</Proxy>
Saludos
lo que hace caché por el navegador? ¿Puedes por favor más en detalle? –
http://en.wikipedia.org/wiki/Web_cache –