CacheControlFilter 不适用于 CSS 背景图像



我使用的是OmniFace 2.7和Primefaces 6.0。我使用CacheControlFilter为所有图像类型(*.jpg|*.jpeg|*.png|*.gif|*.ico(设置了365d的过期时间。

这种浏览器缓存设置似乎不适用于获得以下URL的CSS背景图像:

.../playground/javax.faces.resource/images/smiley.jpg.xhtml

同样适用于具有以下URL的组合资源文件(CSS和JS(:

.../javax.faces.resource/LONG-HASH.js.jsf?ln=omnifaces.combined&v=1544138175000

任何解决这个问题的提示都将非常有帮助。感谢

答案在CacheControlFilter的展示和文档中。

重要注意:此筛选器自动跳过JSF资源,例如<h:outputScript><h:outputStylesheet>@ResourceDependency等提供服务的资源。它们的缓存相关头已经由ResourceHandler实现控制。在Mojarra和MyFaces中,默认过期时间为1周(604800000毫秒(,可以通过具有以下名称和以毫秒为单位的值的web.xml上下文参数进行配置,例如3628800000持续6周:

  • Mojarra:com.sun.faces.defaultResourceMaxAge
  • MyFaces:org.apache.myfaces.RESOURCE_MAX_TIME_EXPIRES

使用此筛选器控制与缓存相关的标头是没有意义的,因为它们无论如何都会被覆盖。

我对此没有太多补充。

相关内容

  • 没有找到相关文章

最新更新