Як зупинити Chrome, надсилаючи кеш-контроль: max-age = 0, коли натискаю клавішу Enter?


27

Я перебуваю на злегка нестійкому зв’язку і намагаюся покращити свій досвід перегляду за допомогою локального проксі. Згідно з моїм дослідженням , якщо я натиснув "ввести" у своєму браузері за наявною 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заголовок, який обходить кешування.


5

Можна змінити заголовки, які Chrome надсилає веб-серверу, використовуючи або сценарії користувачів (ala greasemonkey), або розширення. Ось одне розширення, яке має працювати: ModHeader

Відповідно до вступу та скріншоту, додавання такого заголовка, як це cache-control max-age=1000повинно бути відносно простим. Він також підтримує білі списки домену, щоб запобігти надсиланню заголовків на певні веб-сайти. Для цієї роботи вам можуть знадобитися ввімкнути певні експерименти з хромованими: // прапорами.

демонстрація додавання заголовків


1

Веб-переглядачі ведуть себе на основі заголовків відповідей, які вони отримують. Якщо браузер отримує заголовки відповідей, як

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

тоді браузер завжди буде запитувати з Cache-Control: max-age=0. Зазвичай це відбувається з контейнером Tomcat, куди BaseAuthenticatorдодаються ці заголовки відповідей, коли змінна disableProxyCachingє правдою. Якщо у вас виникли подібні проблеми, ви можете відвідати це посилання для вирішення.

Сподіваюся, це певною мірою допомагає :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.