问题描述
如何清除 gwt 中的缓存?
或者有什么方法阻止浏览器将缓存保存在 gwt ?
在部署GWT应用程序时,避免代理和浏览器缓存.nocache由GWT生成的.js文件。一个解决方案是实现一个servlet过滤器,该过滤器添加了控制缓存行为的必要HTTP头。
这是一个这样的过滤器:
该示例中的标题为:
日期:2010年11月24日星期三20:32:43 GMT
过期时间:2000年11月1日星期三00:00:00 GMT
Pragma:no-cache
Cache-Control:no-cache,no-store,must-revalidate
Date
应设置为请求时间。
过期
是最好设置在过去的某个时间,这迫使每个人都认为已经陈旧的内容。
Pragma
是一个已被 Cache-Control
取代的标签,但它并不会伤害它。
Cache-Control
no-cache
表示浏览器或代理在将缓存副本发布到客户端之前必须重新验证缓存副本。 no-store
表示没有人保留一个缓存副本(这使得 no-cache
冗余)。 must-revalidate
表示浏览器/代理服务器必须遵守新鲜度信息并重新验证,同样也是 no-store
p>
How can I clear the cache in gwt?
or is there any way that prevent browser to keep the cache in gwt?
When you deploy a GWT-application it's important to avoid proxies and browsers to cache the .nocache.js-files generated by GWT. One solution is to implement a servlet filter that adds the necessary HTTP-headers that control the caching behaviour.
Here's such a filter: http://seewah.blogspot.com/2009/02/gwt-tips-2-nocachejs-getting-cached-in.html
The headers in that example are:
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
should be set to the time of the request.
Expires
is best set to sometime in the past, this forces everyone to consider the content already stale.
Pragma
is a tag that has been superseded by Cache-Control
, but it doesn't hurt to have it.
Cache-Control
no-cache
means a browser or proxy must revalidate a cached copy before releasing it to the client. no-store
means no one is ever keeping a cached copy (which makes no-cache
redundant). must-revalidate
says the browser/proxy must obey freshness information and revalidate, also redundant with no-store
.
这篇关于如何清除gwt中的缓存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!