Как остановить отправку Chrome Cache-control: max-age = 0, когда я нажимаю ввод?

27

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

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

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

Уомбл
источник

Ответы:

25

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

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

Svenny
источник
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. Если вы столкнулись с подобной проблемой, вы можете перейти по этой ссылке для решения.

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

Сунил Даббури
источник