Я заметил, что все современные браузеры не справляются с кэшированием. Я помню, как много лет назад в Internet Explorer 5 — браузере, который был ужасом по сегодняшним меркам! — я мог в любой момент выбрать «Файл/Автономный режим», а затем просмотреть все, что я посетил за последние пару дней из кэша. Он даже автоматически активировал автономный режим, когда соединение прерывалось. Кроме того, он, казалось, использовал кэш гораздо более агрессивно, чем сейчас, даже при просмотре в Интернете. Все это было необходимостью с модемами того времени и их медленными и ненадежными соединениями. В настоящее время, когда я путешествую со своим нетбуком, я мог часто использовать такую функцию, особенно когда WiFi нестабилен или недоступен.
У Firefox все еще есть опция "работать офлайн", и она работает на нескольких страницах, но она кажется очень ограниченной. Также нет простого способа увидеть, какие сайты в моей истории кэшируются.
Есть ли способ сделать кэширование более "агрессивным" или всеобъемлющим, а офлайн-режим снова полезным? Может быть, расширения или определенный браузер?
решение1
Автор HTML может использовать заголовок и meta
теги, чтобы дать браузеру команду не кэшировать страницу.
Это сейчас тенденция, учитывая, что HTML и браузеры в настоящее время рассматриваются как единый протокол/среда выполнения уровня приложений, а не просто статический протокол извлечения документов.
Технически возможно удалить/изменить любой нежелательный материал из HTML-документов с помощью прокси-сервера. squid
обеспечит основу для этой возможности - включая запуск HTML-запросов через скрипт, который может изменять материал на лету - но вам придется написать свой собственный скрипт, который изменяет теги, создавая нежелательное поведение. Кроме того, возня с Javascript на страницах - это грязно, требует много времени, отличается для каждого сайта, и обычно результат не стоит усилий.
Я не знаю готового решения, которое обеспечивало бы это.
Обычно я обнаружил, что удобнее сохранять страницы, распечатывая их в формате PDF или аналогичном формате, вместо того, чтобы полагаться на кэш браузера, чтобы запомнить, что я делал.
решение2
Более ранние версии squid
(2.2 и более ранние) имеют функцию «offline_mode».
В этом режиме отключается проверка кэша, то есть, если ресурс уже находится в кэше Squid, Squid не будет связываться с исходным веб-сайтом, чтобы проверить, является ли кэшированный ресурс действительным/свежим или нет.
Объедините offline_mode on
и агрессивный всеобъемлющий подход, refresh_pattern
такой как
refresh_pattern . 10080 9999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-must-revalidate ignore-private override-lastmod reload-into-ims store-stale
и вы можете перейти в автономный режим длямесяцыи по-прежнему сможете повторно посещать статические веб-сайты, которые вы посещали ранее!
Для получения более подробной информации прочтитеhttp://www.squid-cache.org/Doc/config/offline_mode/иhttp://linuxdevcenter.com/pub/a/linux/2001/08/02/offline_squid.html. Squid работает на большинстве операционных систем, так что попробуйте.
Надеюсь, это ответ на ваш последний вопрос.
Теперь, отвечая на вопрос «почему» в заголовке вашего вопроса, скажу, что Интернет сейчас уже не тот, что был со времен IE5. Большинство веб-сайтов перестанут работать в автономном режиме. Интернет стал более зависимым от динамического контента, то есть большая часть контента теперь не предназначена для длительного кэширования. Читатьэтот вопросЯ задал вопрос в почтовой рассылке пользователей Squid.