CacheControlFilter не работает на фоновых изображениях CSS - PullRequest
0 голосов
/ 11 декабря 2018

Я использую OmniFace 2.7 с Primefaces 6.0.Я установил с CacheControlFilter время истечения 365 дней для всех типов изображений (*.jpg | *.jpeg | *.png | *.gif | *.ico).

Эти параметры кэширования браузера, по-видимому, не применяются кФоновые изображения CSS, которые получают URL, например:

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

То же самое относится к объединенным файлам ресурсов (CSS и JS), которые имеют URL, например:

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

Любые подсказки, чтобы решить эту проблемувопрос был бы очень полезен.Спасибо

1 Ответ

0 голосов
/ 12 декабря 2018

Ответ содержится в витрине и документации из CacheControlFilter.

Важное замечание : этот фильтр автоматически пропускаетсяРесурсы JSF, такие как ресурсы, обслуживаемые <h:outputScript>, <h:outputStylesheet>, @ResourceDependency и т. Д. Их заголовки, связанные с кэшем, а именно уже контролируются реализацией ResourceHandler.В Mojarra и MyFaces время истечения по умолчанию составляет 1 неделю (604800000 миллисекунд), которое можно настроить с помощью параметра контекста web.xml со следующим именем и значением в миллисекундах, например 3628800000 для 6 недель:

  • Мохарра: com.sun.faces.defaultResourceMaxAge
  • MyFaces: org.apache.myfaces.RESOURCE_MAX_TIME_EXPIRES

Не имеет смысла управлять заголовками, связанными с кэшем, с помощью этого фильтра, поскольку они будут переопределеныв любом случае.

Мне особо нечего добавить.

...