IE 302 Redirect Проблема с заголовком без кеша

Редирект 302 возвращается после публикации информации. Это перенаправление предназначено для перезагрузки текущей страницы.

Все это прекрасно работает, но IE добавляет No-Cache в заголовок:

Cache-Control: no-cache

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

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

Можем ли мы что-нибудь сделать, чтобы IE не добавлял кэш?


person James Camfield    schedule 29.12.2008    source источник
comment
Это происходит на машинах, не предназначенных для разработки?   -  person Liam    schedule 28.01.2009
comment
Да, это в производственной среде   -  person James Camfield    schedule 27.07.2009


Ответы (2)


Очаровательный. Это действительно проблема IE без прямого обходного пути. Проблема в том, что IE безоговорочно добавит заголовок запроса Cache-Control: no-cache (или заголовок запроса Pragma: no-cache, если у вас есть прокси-сервер) в HTTP-запрос POST.

Это, несомненно, было введено в IE более десяти лет назад для размещения глючных прокси-серверов, которые неправильно обрабатывали HTTP-запросы POST и неправильно возвращали кэшированные ответы.

Причуда IE заключается в том, что при перенаправлении заголовки без кеша повторно добавляются к перенаправленному запросу. Следовательно, в вашем случае ваш перенаправленный запрос также отправляет заголовок запроса «без кеша», перенесенный из запроса POST.

К сожалению, для этого нет прямого обходного пути. Вы можете перенаправить пользователей IE на промежуточную страницу, которая использует JavaScript, чтобы перенаправить их обратно на исходную страницу. (Не используйте META REFRESH, потому что это ВСЕГДА отправляет запросы без кеша).

person EricLaw    schedule 18.07.2009

Звучит как ошибка в IE для меня. Это обсуждение звучит похоже. Возможно, вы могли бы попробовать отправить ответ 301 или 307, чтобы увидеть, отвечает ли он по-другому.

person Marc Novakowski    schedule 29.12.2008
comment
Эта ссылка только что привела меня к изображениям Windows Experience ... без обсуждения. - person James Camfield; 29.12.2008