Caching 针对非GWT资源的类似GWT的完美缓存 完美缓存

Caching 针对非GWT资源的类似GWT的完美缓存 完美缓存,caching,gwt,maven-2,Caching,Gwt,Maven 2,完美缓存允许浏览器永久缓存资源,并保证更改的资源立即传播到浏览器。在GWT中,这是通过将文件命名为其内容的哈希代码来实现的。由于每次文件内容更改时都会产生新的文件名,因此浏览器可以永久缓存这些文件,而无需询问服务器是否有可用的新版本。可以找到更多关于完美缓存的信息 由于这个概念非常有效,我想将它应用到我所有的非GWT资源(一些JS、CSS和图像文件) 由于我的构建过程是基于Maven的,如果有一个插件可以根据文件的哈希代码自动重命名文件,并且可以调整对该文件的所有引用,那就太好了 这里有一个例子

完美缓存允许浏览器永久缓存资源,并保证更改的资源立即传播到浏览器。在GWT中,这是通过将文件命名为其内容的哈希代码来实现的。由于每次文件内容更改时都会产生新的文件名,因此浏览器可以永久缓存这些文件,而无需询问服务器是否有可用的新版本。可以找到更多关于完美缓存的信息

由于这个概念非常有效,我想将它应用到我所有的非GWT资源(一些JS、CSS和图像文件)

由于我的构建过程是基于Maven的,如果有一个插件可以根据文件的哈希代码自动重命名文件,并且可以调整对该文件的所有引用,那就太好了

这里有一个例子 更名
  • foo.css->foo_39757cec04498955db62043f7ecfefc2.cache.css
  • logo.png->logo35bcdbbabe1944afc75eeeb16f06d1ad.cache.png
更新文件中的引用
  • 将所有出现的“foo.css”替换为“foo_39757cec04498955db62043f7ecfefc2.cache.css”
  • 将所有出现的“logo.png”替换为“logo35bcdbbabe1944afc75eeeb16f06d1ad.cache.png”
有人知道这样的事情是否已经存在吗

非常感谢,

Michael

如果您使用的是Apache(httpd),您可以进行设置。由于GWT已经做了一些这方面的工作,所以要小心正确配置mod_pagespeed,以便性能不会降低。

mod_pagespeed确实默认禁用HTML缓存,因为HTML通常是动态的。但是,您可以覆盖该行为

在最新的二进制版本(0.10.21.*)中有一个新选项提供了您想要的行为:显式控制HTML缓存头:

  ModPagespeedModifyCachingHeaders off

您使用的是客户端捆绑包吗?是的,我使用的是ClientBundles,它们工作起来很有魅力,但我指的是由于各种原因GWT无法管理的资源。谢谢,我不知道mod_pagespeed能够做到这一点。不幸的是,启用mod_pagespeed时的性能比不启用时差,正如您所预测的那样。问题是mod_pagespeed禁用了GWT排列的主HTML文件的缓存。您有关于如何为GWT应用程序配置mod_pagespeed的任何信息吗?请按照有关配置过滤器的文档进行操作,首先关闭所有过滤器,然后逐个启用,并在整个过程中测量性能。我还删除了mod_pagespeed缓存目录,只是为了确定一下。这似乎不是对原始问题的回答。我想你是想把这个作为对另一个答案的评论(这是一个有用的回答!)。您可能需要查看about页面[]-此处的对话与您的普通论坛不同。