23

У меня немного нестабильное соединение, и я пытаюсь улучшить свои возможности просмотра с использованием локального прокси. Однако, согласно моим исследованиям, если я нажму «enter» в своем браузере по существующему URL-адресу, он отправит заголовок Cache-Control: max-age=0 прокси, который, в свою очередь, совершит обходы на сервер для повторной проверки содержимого.

Я не особенно этого хочу; если объект устарел, кеш будет повторно извлекать его, но если он не устарел, я не понимаю, почему я хотел бы, чтобы объект проверялся каждый раз. Если я подозреваю, что страница старая, у меня есть shift-F5, и я не боюсь ее использовать.

Так есть ли где-нибудь за кулисами в Chrome настройка, которая отключит это надоедливое поведение?

3 ответа3

19

Я обнаружил, что если вы переходите на страницу с помощью кнопки «Назад» или ссылки, Chrome не отправляет заголовок max-age = 0 и обычно (если сервер apache на другой стороне настроен для кэширования) использует кэшированная версия страницы.

Однако, когда вы вводите URL-адрес (например, www.example.com/abcd/index.html) непосредственно в адресную строку, а затем нажимаете Return, Chrome всегда отправляет заголовок Cache-Control: max-age=0 , который обходит кэширование. ,

5

Можно изменить заголовки, которые Chrome отправляет на веб-сервер, используя либо пользовательские скрипты (ala greasemonkey), либо расширения. Вот одно расширение, которое должно работать: ModHeader

Согласно введению и скриншоту, добавление заголовка, такого как cache-control max-age=1000 должно быть относительно простым. Он также поддерживает белые списки доменов для предотвращения отправки заголовков на определенные веб-сайты. Для этой работы вам может потребоваться включить определенные эксперименты в chrome://flags.

демо добавления заголовков

1

Браузеры ведут себя на основе полученных ими заголовков ответов. Если браузер получает ответные заголовки, такие как

Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 UTC

тогда браузер всегда будет запрашивать с Cache-Control: max-age=0 . Это обычно происходит с контейнером Tomcat, где BaseAuthenticator добавляет эти заголовки ответа, когда переменная disableProxyCaching имеет значение true. Если вы столкнулись с подобной проблемой, вы можете перейти по этой ссылке для решения.

Надеюсь, это поможет в определенной степени :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .