Кеширование js / css не работает даже после использования стадии проекта и фильтров, дата заголовка всегда обновляется - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь реализовать кэширование для моих файлов JS / CSS, но оно не работает, я использую Mojarra JSF-2.2.12 и PrimeFaces 6.

Я пытался использовать javax.faces.PROJECT_STAGE какПроизводил и создал пользовательский фильтр, но ничего не помогло.

Нужна ваша помощь ... ниже приведен фрагмент кода web.xml

<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Production</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.defaultResourceMaxAge</param-name>
<param-value>3628800000</param-value> <!-- 8 hours -->  
</context-param>

В xhtml мы написали, как показано ниже.

<h:outputScript name="js/ProcessSpecific-min.js"></h:outputScript>

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

1 Ответ

0 голосов
/ 09 марта 2019

вы используете Мохарру или Myfaces?

В Mojarra вы можете контролировать время истечения с помощью следующего параметра контекста (значение в миллисекундах):

<context-param>
    <param-name>com.sun.faces.defaultResourceMaxAge</param-name>
    <param-value>3628800000</param-value> <!-- 6 weeks. -->
</context-param>

А в MyFaces:

<context-param>
    <param-name>org.apache.myfaces.RESOURCE_MAX_TIME_EXPIRES</param-name>
    <param-value>3628800000</param-value> <!-- 6 weeks. -->
</context-param>

Правильно установите заголовки HTTP, чтобы принудительно кэшировать файлы JS, CSS и PNG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...