apache - 配置 Tomcat 以利用浏览器缓存?

标签 apache jsf tomcat servlets pagespeed

我运行了 Google 的 Page Speed在我们的网络应用程序上分析和优化我们的网站。

Web Performance Best Practices 下的众多项目之一如 Page Speed 中所列,“要在所有浏览器中一致地利用缓存的全部优势,我们建议您将 Web 服务器配置为显式设置缓存 header 并将它们应用于所有可缓存的静态资源,而不仅仅是一小部分子集(如图片)。可缓存的资源包括JS和CSS文件、图片文件和其他二进制目标文件(媒体文件、PDF、Flash文件等)。一般来说,HTML不是静态的,不应该考虑可缓存。”

如何配置 tomcat 以实现相同的目的?我知道这可以通过过滤器通过放置一些 HTTP header 来完成,但我们是否可以仅通过配置在不接触代码的情况下做到这一点?

编辑:我们使用 JSF 1.2 仅供引用,尽管我认为这与这个问题的上下文无关。

最佳答案

如果您使用的是 Tomcat7,则有一个内置过滤器。 http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Expires_Filter

我们使用美妙的 URlRewriteFilter 来做到这一点。没有代码更改,只是对 web.xml 的配置,仅此而已。链接和规则如下。

http://tuckey.org/urlrewrite/

  <rule>
        <from>^.*\.(js|css|gif)$</from>
        <set type="expires">6 hours</set>
  </rule>

关于apache - 配置 Tomcat 以利用浏览器缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207515/

相关文章:

tomcat - Orbeon Forms with Oracle(处理请求时发生错误。)

java - BTM 作为 Tomcat 7 中的事务管理器?

apache - XAMPP apache 服务器在 Skype 安装后未启动

macos - Mac OSX上的XAMPP:为什么以 'daemon'身份运行?

java - 查看过期异常 JSF

eclipse - JSF:在 Eclipse 中增加 Tomcat 7 的日志记录级别?

eclipse - 如何在 Eclipse 中卸载 jar 文件?

php - 如何纠正 XAMPP Apache 阻止的端口和缺少被另一个 XAMPP 版本覆盖的依赖项

php - 如何配置 Apache 让 PHP 处理 OPTIONS HTTP 请求?

java - JSF 转换器警告