Остановите кеширование в Firefox - PullRequest
5 голосов
/ 20 марта 2011

Я использую следующий код.

<%
response.addHeader("Cache-Control","no-cache"); 
response.addHeader("Pragma","no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0 "); 
response.addDateHeader ("Expires", 0);
%>

Он отлично работает в IE, но страница все еще кэшируется в Firefox.Я также хочу прекратить кеширование в Firefox.Есть предложения?

1 Ответ

10 голосов
/ 20 марта 2011

Вы путаете Cache-Control и Pragma заголовки. Поменяйте их местами. Firefox также требует no-store и must-revalidate вдоль no-cache.

response.addHeader("Cache-Control", "no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0"); 
response.addHeader("Pragma", "no-cache"); 
response.addDateHeader ("Expires", 0);

Более того, только no-cache,no-store,must-revalidate было достаточно для Cache-Control, чтобы заставить его работать в разных браузерах.

Смотри также:


Вне зависимости от конкретной проблемы, я бы рекомендовал поместить этот фрагмент кода в класс Filter, который вы отображаете на *.jsp, вместо того, чтобы копировать один и тот же код во все файлы JSP, для которых вы хотите отключить кеш браузера.

...