Доброго дня,Включение кэширования браузера с помощью Java
Я использую CacheFilter фильтровать определенный путь к моему серверу (который выводит поток изображения в поток ответа). И я настроил его в своем web.xml следующим образом:
<filter>
<filter-name>imagesCache</filter-name>
<filter-class>com.samaxes.cachefilter.presentation.CacheFilter</filter-class>
<init-param>
<param-name>privacy</param-name>
<param-value>public</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<param-value>2592000</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>imagesCache</filter-name>
<url-pattern>/my/path/*</url-pattern>
</filter-mapping>
Используя мой Firefox, если доступ к моему URL через адресную строку, она попадает на сервер в первый раз, но использует кэш во время последующих вызовов. Однако, если URL-адрес находится внутри моей страницы (т. Е. <img src="..."/>
), он, кажется, попадает на сервер все время.
[EDIT] После нескольких дополнительных испытаний доступ к моему изображению через адресную строку не работает все время. Но кеширование, похоже, работает с ним чаще, чем. Что касается этого, я не уверен.
Дополнительная информация: my path is something like/my/path? Then = some & query = strings. Обратите внимание, что у него нет расширения (т. Е. Gif, png, jpeg), но его mimetype установлен правильно (image/gif, image/png, image/jpeg). Я не уверен, что отсутствие расширения или наличие строк запроса оказывают какое-либо влияние. (Кроме того, еще одно примечание. Хотя мой url имеет строки запроса, я использую ту же самую строку uri + query снова и снова с моими тестами).
Любые идеи, почему?
Благодаря
Спасибо, В настоящее время я устанавливаю Cache-Control и Expires в заголовках ответов. Должен ли я установить Cache-Control в заголовках запроса? Re: firefox: Wdym? Я тестирую только кнопку «Обновить» или «F5», а не Shift + RefreshButton или Ctrl + F5. ... Вы хотите сказать, что firefox RefreshButton - это жесткое обновление? Спасибо, –
@Franz: Если ваши ответные заголовки разрешают кешировать достаточно долгое время, это правильно. Заголовки запросов Firefox можно увидеть, если вы используете Firebug или другой плагин для веб-разработки; эта информация должна быть действительно полезной. Семантика F5 и Ctrl-F5: http://support.mozilla.com/tiki-view_forum_thread.php?style_mode=inproduct&locale=en-US&comments_parentId=333668&forumId=1 Также попробуйте ввести свой URL-адрес, затем введите другой URL-адрес, затем снова введите свой первый URL-адрес, избегая кнопок обновления и возврата/перемотки вперед. –