Вопрос по jsf, tomcat, apache, servlets, pagespeed – настроить Tomcat для использования кэширования браузера?

6

Я запустил GoogleСкорость страницы в нашем веб-приложении для анализа и оптимизации нашего веб-сайта.

Один из многих предметов подЛучшие практики веб-производительности как указано в Page Speed говорит"To take advantage of the full benefits of caching consistently across all browsers, we recommend that you configure your web server to explicitly set caching headers and apply them to all cacheable static resources, not just a small subset (such as images). Cacheable resources include JS and CSS files, image files, and other binary object files (media files, PDFs, Flash files, etc.). In general, HTML is not static, and shouldn't be considered cacheable."

Как мне настроить Tomcat для достижения того же? Я знаю, что это можно сделать с помощью фильтров, добавив несколько HTTP-заголовков, но можем ли мы сделать это, не касаясь кода только по конфигурации?

Edit : Просто для информации мы используем JSF 1.2, хотя я думаю, что это не имеет значения в контексте этого вопроса.

Ваш Ответ

1   ответ
9

Если вы используете 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>

Похожие вопросы