Вопрос

Похоже, что IE6 игнорирует любую форму аннулирования кэша, отправленную через http-заголовки, я попытался установить для Pragma значение No Cache и установить срок действия кэша на текущее время, но в IE6 при повторном нажатии всегда будет отображаться кэшированная версия страницы, над которой я работаю.

Есть ли конкретный HTTP-заголовок, который IE6 тоже прослушивает?

Это было полезно?

Решение

Cache-Control: private, max-age=0 нужно это исправить.В классическом ASP это делается с помощью Response.Expires=-1.

Имейте в виду при тестировании, что только потому, что ваш сервер обслуживает страницы с отключенным кэшированием, не означает, что браузер будет подчиняться этому, когда у него есть старая кэшированная страница, которую, как ему сказали, можно кэшировать.Очистите кэш или используйте клавишу F5, чтобы принудительно перезагрузить эту страницу.

Кроме того, для тех случаев, когда сервер обслуживает кэшированный контент, вы можете использовать Ctrl+ F5 чтобы дать сигнал серверу не обслуживать его из кэша.

Другие советы

Ты должен быть осторожен.Если вы используете AJAX через XMLHttpRequest (XHR), "рекомендации" кэша, заданные в заголовке, не соблюдаются ie6.

Исправление заключается в использовании добавления случайного числа к URL-запросам, используемым в AJAX-запросах.Например:

http://test.com?nonce=0123 

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

Вы пробовали устанавливать ETag в заголовке?Это довольно надежный способ указать, что контент изменился спецификация w3c & Википедия

Помимо этого, немного более грубым способом является добавление к запросу случайного параметра строки запроса, такого как текущая временная метка unix.Как я уже сказал, грубо, но тогда IE6 - не самый хитрый из зверей

Небольшая записка:По опыту я знаю, что IE6 загрузит Javascript из кэша, даже если будет вынуждена перезагрузить страницу с помощью ctrl-f5.Поэтому, если вы работаете на Javascript, всегда очищайте кэш.

Панель инструментов веб-разработчика IE может очень помочь в этом.Там есть кнопка для очистки кэша.

Контент с помощью "Content-Encoding:gzip" Всегда кэшируется, Хотя вы используете "Cache-Control:нет кэша"

http://support.microsoft.com/kb/321722

Вы также можете отключить gzip только для IE6

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top