Wie kann ich den Cache in gwt löschen?wie Cache in gwt löschen?
oder gibt es eine Möglichkeit, die Browser zu verhindern, den Cache in gwt zu halten?
Wie kann ich den Cache in gwt löschen?wie Cache in gwt löschen?
oder gibt es eine Möglichkeit, die Browser zu verhindern, den Cache in gwt zu halten?
Wenn Sie eine GWT-Anwendung bereitstellen, ist es wichtig, Proxies und Browser zu vermeiden, die von GWT generierten .nocache.js-Dateien zwischenzuspeichern. Eine Lösung besteht darin, einen Servlet-Filter zu implementieren, der die erforderlichen HTTP-Header hinzufügt, die das Caching-Verhalten steuern.
Hier ist ein solcher Filter: http://seewah.blogspot.com/2009/02/gwt-tips-2-nocachejs-getting-cached-in.html
Die Header in diesem Beispiel sind:
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
sollte der Zeitpunkt der Anforderung eingestellt werden.
Expires
ist am besten irgendwann in der Vergangenheit eingestellt, dies zwingt alle, den Inhalt bereits veraltet zu betrachten.
Pragma
ist ein Tag, der durch Cache-Control
ersetzt wurde, aber es tut nicht weh, es zu haben.
Cache-Control
no-cache
bedeutet, dass ein Browser oder Proxy eine zwischengespeicherte Kopie erneut validieren muss, bevor sie an den Client freigegeben wird. no-store
bedeutet, dass niemand eine zwischengespeicherte Kopie speichert (was no-cache
überflüssig macht). must-revalidate
besagt, dass der Browser/Proxy Frische-Informationen beachten und erneut validieren muss, auch redundant mit no-store
.
Der beste Weg, es zu tun, wenn Sie einen Apache2-Server in der Mitte haben, ist die Konfiguration Ihres virtuellen Hosts, um immer css nocache-Dateien herunterladen zu können. Hier haben Sie ein Beispiel: http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/comment-page-1/#comment-23996.
Dieses auf der Virtual Server-Datei:
<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>
Prost
was durch den Browser-Cache funktioniert? Kannst du bitte genauer? –
http://en.wikipedia.org/wiki/Web_cache –