Кэширование в современных браузерах отстой, почему и как исправить?

Кэширование в современных браузерах отстой, почему и как исправить?

Я заметил, что все современные браузеры не справляются с кэшированием. Я помню, как много лет назад в 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.

Связанный контент