Функция пропуска кэша сервера в браузерах
Несколько лет назад я использовал Lynx (веб-браузер). И у него была замечательная особенность: вы можете нормально переходить по ссылке или указывать, что вам нужна не кешированная копия. Обычная загрузка ссылки или перезагрузка ссылки. Как говорится в руководстве пользователя Lynx 2.8.6:
Команда NOCACHE ('x' или 'X') может использоваться вместо ACTIVATE (Возврат или стрелка вправо), чтобы запросить некэшированную копию и новое представление для текущей ссылки или повторную отправку FORM, если кэш из предыдущий запрос или отправка выходов. Запрос или отправка будут включать Pragma: no-cache и Cache-Control: no-cache в своих заголовках. Обратите внимание, что формы с содержимым POST будут повторно отправлены независимо от того, используется ли команда NOCACHE или ACTIVATE....
Это кажется такой очевидной возможностью - и, как продемонстрировано, она существует по крайней мере в одном браузере - что мне кажется удивительным, что Firefox, Chrome и Microsoft, кажется, не имеют такой функции (скажем, как право - (или команда-) выберите пункт меню). На самом деле, похоже, даже не существует расширения для Firefox.
Итак, мои вопросы:
- Есть ли что-то блокирующее реализацию этой идеи в современных графических браузерах? Какая-то конкретная причина, по которой он не может существовать в них, хотя может в Lynx?
- Есть ли какая-то причина, по которой эта функция не нужна или не нужна в современных графических браузерах? Если да, то относится ли эта причина к Lynx?
- Как я уже упоминал, я не мог найти расширение Firefox или Chrome (или встроенную функцию), как это. Кто-то существует, что я скучаю?
2 ответа
По крайней мере, в некоторых браузерах (IE, Firefox, Chrome, Epiphany), которые, как мне известно, удерживают Shift при нажатии кнопки "Обновить" (или Shift+F5), заставляют браузер игнорировать кэш и запрашивать все ресурсы заново.
Но вы не можете вызвать эту опцию, если страница не загружена или еще не загружена.
Насколько я понимаю, когда ваш браузер отправляет запрос на ресурсы, происходит следующее (примерно):
- Браузер отправляет запрос на ресурс
- Сервер отвечает в последний раз, когда ресурс был изменен
- Если это время позже версии, которую кэшировал браузер, браузер снова загружает ресурс.
Если вы хотите, чтобы это произошло (не так подробно), откройте панель разработчика в Chrome (используя Ctrl+Shift+J) и перезагрузите страницу. Вы увидите, что даже для ресурсов, которые были кэшированы (по размеру, скажем, из кэша), был запрос к ним.
Поскольку браузер будет обновляться тогда и только тогда, когда это необходимо, обычно нет необходимости принудительно перезагружать все ресурсы (за исключением случаев, когда данные каким-либо образом повреждаются, а затем очистка кэша может решить проблему).
Итак, чтобы ответить на ваши вопросы вкратце:
- Нету
- Это будет в основном больно, и очень редко поможет (см. Выше)
- Не то, чтобы я мог найти, но если вы обнаружите, что это поведение вызывает ошибки, вы можете просто очистить кэш вручную.
Примечание: я не на 100% уверен в том, как элементы 1 и 2 имеют место, но что-то, что выполняет эти две вещи, имеет место, хотя реализация может отличаться.