Логотип StingRay

Поделиться
FacebookFacebookRSSTwitterYouTubeВ контактеОдноклассники
FacebookFacebookRSSTwitterYouTubeВ контактеОдноклассники
Силуэт человека

Обновление страниц в разных Интернет-обозревателях

Когда возникает необходимость обновить текущую открытую в Интернет-обозревателе страницу (например, ожидая увидеть на ней какие-либо изменения – особенно часто это нужно веб-разработчикам), есть несколько способов сделать это: графической кнопкой на панели инструментов Интернет-оброзревателя (Обновить) или различными комбинациями клавиш на клавиатуре (F5, Ctrl+F5, Ctrl+R). Существует расхожее предположение о том, что именно комбинация клавиш Ctrl+F5 осуществляет максимально «жёсткое» (игнорируя кэш) и глубокое обновление (якобы, игнорируя даже кэш общего прокси-сервера вашей локальной сети – но это, конечно же, чушь полная). И существует известный факт, что эта комбинация клавиш почему-то не работает по умолчанию в Opera (хотя в каких-то версиях и/или экземплярах она вызывает обновление всех вкладок).

Когда любопытства ради я спросил у одного своего коллеги, предпочитающего в качестве Интернет-обозревателя именно Opera, почему в ней не работает Ctrl+F5, он удивился и ответил, что, вроде как, работает – обновляет все вкладки. Я ещё раз проверил и убедился – в моей Opera 11.51 это не работает вообще никак. А если бы и работало как обновление всех вкладок, то это всё равно было бы не то, не так, как это работает в других Интернет-обозревателях (в частности, в Firefox и Internet Explorer).

И тогда я задал вопрос поисковым системам: «Почему Ctrl+F5 в Opera не работает?» Однозначного ответа получить не удалось, но зато я нашёл интересное рассуждение на эту тему, которое и сподвигло меня на небольшое исследование и написание данной министатьи по его результатам.

Я написал небольшой серверный сценарий, который просто выводил все полученные им HTTP-заголовки, и осуществил обновление его вывода всеми перечисленными способами во всех упомянутых Интернет-обозревателях:

Способ \ обозреватель Firefox 6.0 Internet Explorer 8.0 Opera 11.51
Обновить HTTP_CACHE_CONTROL:max-age=0   HTTP_CACHE_CONTROL:no-cache
F5 HTTP_CACHE_CONTROL:max-age=0   HTTP_CACHE_CONTROL:no-cache
Ctrl+F5 HTTP_CACHE_CONTROL:max-age=0
HTTP_PRAGMA:no-cache
HTTP_CACHE_CONTROL:no-cache Не работает
Ctrl+R HTTP_CACHE_CONTROL:max-age=0   HTTP_CACHE_CONTROL:no-cache

Какие тут можно сделать выводы:

  • графическая кнопка Обновить, клавиша F5 и комбинация клавиш Ctrl+R равнозначны во всех Интернет-обозревателях;
  • комбинация клавиш Ctrl+F5 отличается от Обновить/F5/Ctrl+R во всех Интернет-обозревателях и, кроме Opera (где Ctrl+F5 не работает), действительно вызывает более «жёсткое» обновление страницы;
  • учитывая, что комбинация клавиш Ctrl+F5 в Firefox посылает не один «обновляющий» HTTP-заголовок, а сразу два (HTTP_CACHE_CONTROL и HTTP_PRAGMA), можно предположить, что обновление страницы ею для некоторых веб-серверов может быть ещё более «жёстким».

P.S. Учитывая отсутствие в Opera такого «жёсткого» обновления страницы и однообразия обновляющих HTTP-заголовков (всегда только HTTP_CACHE_CONTROL:no-cache), неудивительно, что в своё время мне так до конца и не удалось победить её кэширование CAPTCHA-картинки моего сайта, несмотря ни на добавление к адресу картинки фиктивных параметров, ни на отдачу вместе с ней дополнительных HTTP-заголовков Last-Modified, Pragma:no-cache и CacheControl:no-cache,must-revalidate. :-(

Добавьте свой комментарий или войдите, чтобы подписаться/отписаться.
Имя: OpenId
Результат операции:
Предпросмотр Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Вопрос Восклицание Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…