Страница открывается, пока сеть доступна, а затем офлайн теряет свои стили и изображения. HTML был лишь одним из объектов, нужных сеансу чтения.

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

Подготовьте набор для чтения

Перечислите документы, нужные читателям, их изображения, таблицы стилей и другие зависимости. Затем различите три случая:

Состояние ответаПоследствие офлайн
Сохранён и пригоден для повторного использованияКэш потенциально может удовлетворить запрос
Сохранён, но требует проверкиОтсутствующий источник может помешать повторному использованию
Никогда не сохранялся или отсутствует в кэшеНет байтов ответа для выдачи

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

Свежесть сохраняется, даже если кабель выдернут

Офлайн-работа требует явной политики для устаревшего содержимого. Запрос only-if-cached — отдельный способ попросить взаимодействующий кэш об уже сохранённом ответе. HTTP имеет ограничения на то, когда можно использовать устаревшие ответы, включая применимые требования повторной проверки. Сохранённый объект не является безусловным разрешением выдавать его бесконечно.

Параметр offline_mode в Squid 7 — конкретная опция развёртывания, которая останавливает обычные попытки проверки. Она меняет поведение проверки; она не может создать отсутствующие объекты или восстановить живой процесс входа. Директива недоступна в Squid 8.

Обычный HTTPS CONNECT также держит содержимое страницы внутри TLS. Туннелирующий прокси не получает пригодных для повторного использования объектов HTML и изображений из этих зашифрованных байтов.

Для определённой публичной коллекции для чтения спланируйте и проверьте полный рабочий набор и политику его обновления. При произвольном интерактивном просмотре один кэш не может обещать полную офлайн-копию того, что пользователь может запросить дальше.

Похожие статьи