Разница между Ctrl + Обновить и Ctrl + Shift + Обновить?


9

Я понимаю, что Ctrl+ Refresh выбирает свежий контент из браузера без чтения кеша. Тогда что такое Ctrl+ Shift+ Refresh для?

Ctrl + Обновить заголовок запроса так:

Cache-Control : max-age=0

для Ctrl+ Shift+ Обновить

Pragma : no-cache <br>
Cache-Control : no-cache

В чем реальная разница?


4
Какой браузер вы используете? Ctrl + Shift + F5 ничего не делает в Firefox 3.5 или IE 6.

2
Я всегда думал, что CTRL + SHIFT + REFRESH - это уловка, которую программисты рассказывали своим клиентам ...
user2980

@ user2980 хорошо, что ты не прав :)
RomanSt

Ответы:


12

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

Заголовок Ctrl + Refresh означает, что любые кэширующие серверы на этом пути должны возвращать свежую копию страницы.

Заголовки Ctrl + Shift + Refresh означают, что любые кэширующие серверы на этом пути должны возвращать свежую копию страницы, а также не должны кэшировать страницу для любых будущих запросов. Другими словами, при следующем запросе страницы она должна либо использовать предыдущий кеш страницы, либо запросить новую копию, но не должна использовать эту.

Pragma: no-cache - это версия Cache-Control для HTTP 1.0: no-cache. Нет HTTP 1.0, эквивалентного Cache-Control: max-age = 0.

RFC2616 раздел 14 подраздел 9 имеет соответствующую информацию: w3c.org: RFC2616 sec 14.9.1


1

Есть еще одна разница, и большая в этом.

Когда вы нажимаете Ctrl + Refresh, для каждого кэшированного объекта, имеющего заголовок Last-Modifiedили ETag, браузер отправляет запрос с заголовком If-Modified-Sinceили If-None-Match. Сервер может затем выбрать ответ 304 Not Modifiedбез повторной отправки каких-либо данных (при условии, что данные, по сути, не изменены).

Когда вы нажимаете Ctrl + Shift + Refresh, браузер не будет выдавать такие условные If-*заголовки, не оставляя серверу никакой возможности, кроме как снова отправить данные.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.