Рассматриваем подробнее
Рис. 3.1 . Диаграмма работы pre‑check и post‑check
Когда к браузеру поступает запрос на открытие ресурса, который находится в кэше, и при этом кэш содержит расширения Cache‑Control (отправленные с сервера как часть заголовка HTTP‑ответа), тогда IE использует эти расширения и логика для получения последней версии страницы с сервера будет следующей:
Если еще не закончился интервал времени post‑check, то просто отобразим страницу из кэша.
Если с момента последнего запроса страницы прошло время, лежащее между интервалами post‑check и pre‑check, то отобразим страницу из кэша. При этом в фоновом режиме запросим HTTP‑сервер на предмет того, изменялась ли страница с момента последнего запроса браузером. Если страница изменялась, то запросим ее и сохраним в кэше. При этом в браузере ничего не поменяется: у него будет более старая версия, полученная изначально из кэша, однако ее загрузка произойдет максимально быстро.
Если уже истекло время, отмеченное интервалом pre‑check, то при запросе страницы пользователем сначала спросим у HTTP‑сервера, изменилась ли страница со времени ее последней загрузки браузером. Если страницы изменилась, загрузим ее и отобразим обновленную версию. Если страница не изменилась, то ее кэш и расширения Cache‑Control в любом случае будут обновлены.
Заметим, что кнопка «Обновить» (включая клавишу F5) не запускает данный механизм, потому что «Обновить» всегда отправляет на сервер запрос If‑Modified‑Since. Однако с помощью описанной выше логики будут открываться все ссылки.
Дата добавления: 2015-05-19; просмотров: 802;