Вопрос Как я могу сделать переадресацию кеширования Chrome?


Я работаю над веб-приложением, которое использует redirects (для довольно URL-адресов).

Я пытаюсь отладить логику в том, как работают перенаправления. Однако Google Chrome запоминает переадресацию и даже после того, как я меняю код, перенаправляя то же самое.

Это затрудняет устранение неполадок.

Например, если я перенаправляю /this в /that, затем измените мой код на НЕ перенаправлять /this больше. Google Chrome по-прежнему перенаправляется на /that, Как перенаправление кэшируется или что-то в этом роде. Есть ли способ отключить это?


367
2018-06-30 17:05


происхождения


Это все еще происходит при перезапуске? Он должен остановиться после перезапуска с новой сессии - random♦
@random, перезапуск хром, похоже, исправить. Тем не менее, я обычно открываю много открытых окон (например, docs, db connections, tutorials, страницы, над которой я работаю, и т. Д.). Если я что-то устраняю, может возникнуть несколько попыток, прежде чем выяснять, что происходит. На самом деле я бы не счел нужным закрывать все мои окна. Благодарю. - JD Isaacks
Обход проблемы: используйте 302 (временные) перенаправления во время тестирования и перейдите на 301 (постоянный), когда вы закончите. (Предостережение. Некоторые браузеры (Firefox) будут кэшировать даже 302 переадресации, когда они переходят с http на https версии одной и той же страницы.) - TRiG
Ввод нового www.mywebsite/?someparam=somevalue работает на меня - Mustafa
@JDIsaacks вы можете использовать Chrome исключительно для отладки (то есть Chrome Canary) - athosbr99


ответы:


Google Chrome будет кешировать 301 переадресацию, Чтобы обойти это и сохранить открытые вкладки, вам просто нужно очистить кеш браузера.

Меню Chrome Chrome Menu > Настройки> Показать дополнительные настройки ...> Конфиденциальность> Нажмите Очистить данные просмотра ...

Независимо от того, что вы выбрали, убедитесь, что «Кэшированные изображения и файлы» отмечены флажком.

Затем нажмите Очистить данные просмотра и вы сможете повторить повторный тест.

Если вы только что перешли к переадресации, вам нужно только удалить данные за последний час.

Альтернативно, тестируйте и развивайте в режиме инкогнито. Там кеш очищается после закрытия браузера.


301
2018-06-30 17:29



Последняя версия хром, этот вариант будет «Кэшированные изображения и файлы» вместо «Очистить кеш», - Dan R
Я постоянно перенаправляюсь, даже в режиме инкогнито. - Gaia
@Gaia да, это, похоже, проблема в Chrome incognito. Если вы просто тестируете, вы можете использовать Firefox для этого. Firefox работает в браузере отлично :) - chhantyal
Обратите внимание, что HTTP 301 является переехал навсегда поэтому кэширование ответа вполне разрешено. Если вы не хотите, чтобы ответ был кэширован, попробуйте 302 или 307. en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Michael Kjörling
Для этого сочетания клавиш Ctrl+ Shift+ Delete, - 0xcaff


Это верный способ устранения явной памяти Chrome для перенаправления, не очищая все данные браузера (за каждый ответ выше):

  1. Открой Инструменты разработчика панель (варианткомандая на Mac или Ctrlсдвигя на Windows)

  2. Нажмите и удерживайте значок перезагрузки enter image description here

  3. Откроется меню

    enter image description here

  4. Выберите третий вариант из этого меню («Empty Cache and Hard Reload»)

PS: Чтобы избежать необходимости выполнять эти действия каждый раз, когда за переадресацией следует Chrome: установите флажок отключить кеш в DevTools, а в то время как DevTools открыт. Chrome будет обходить кеш редиректа (в этот ответ)


128
2018-01-26 18:12



В стороне: это не доступно на Mac. - Arjan
это не всегда удаляет кешированные переадресации - Claudiu Creanga
Он доступен на Mac, но меню доступно, только если у вас открыты инструменты dev. Я предполагаю, что в Windows это может быть одинаковым. - Percy
@Arjan он доступен на Mac. superuser.com/questions/304589/... - Gaia
Mac OS X, Yosemite. Борясь с постоянным перенаправлением http до https, только этот параметр работал. Все остальные, в том числе «Отключить кеш (пока DevTools открыт)», не имеет значения. - Carles Sala


Это не идеальное решение, но я смог запретить Chrome использовать кешированную переадресацию, передав фиктивную строку запроса или добавив фиктивный параметр в существующую строку запроса. Например, добавление простого ? до конца URL-адреса, у которого не было q строки запроса, работало для меня в Chrome 30 на Max OS X.


107
2017-10-16 06:10



Да, это работает. example.com становится example.com?, Я самый простой из группы - bfred.it
Это потрясающий трюк. Я предполагаю, что вы можете использовать это бесконечно ?abc, ?abc2 и т.д... - brentonstrine
Это не сработало для меня. Даже используя другой порт (: 8080), он изменился на https, который кажется ошибкой Chrome. - jwadsack
Я уже делаю то же самое, но он не работает всегда, иногда мне нужно нажать ctrl + shift + r (ctrl + f5), чтобы получить более новую версию веб-страницы или частичные страницы, включенные внутри страницы - M98
Если есть кеш-код подстановочного знака 301, это может не сработать с момента его «запоминания» для пересылки всего после TLD. - dhaupin


Есть "wontfix" Chromium ошибка об этом,

Это ожидаемое поведение.

Обратите внимание, что:

  1. Вы можете добавить заголовки управления кешем в 301, и мы будем следовать им (истечение и т. Д.),
  2. Если данный ресурс является подресурсом, перезагрузка страницы приведет к повторной валидации перенаправления с сервером.
  3. Вам не нужно терять весь свой кеш. Просто следуйте за перенаправлением и удалите последний час.

90
2017-10-09 07:16



Что означает «удалить последний час». означает? Как это сделать? - Mikaël Mayer
@ MikaëlMayer Когда вы нажимаете «История»> «Очистить данные просмотра», вы можете выбрать временные рамки для удаления данных («прошлый час», «минута» и т. Д.), - dbr
Нет! .. Очистка данных просмотра для сайта будет не удалить 301 перенаправление. Не в Chromium 64.0.x в любом случае - patricktokeeffe
Очистка «1 час» заставляет вас выйти из всех продуктов и учетных записей Google. Какой хороший совет ... - Luciano Fantuzzi
> Вам не нужно терять весь кеш. Просто следуйте за перенаправлением и удалите последний час. Это еще хуже, чем «удалить последнее перенаправление», которое является функцией, которую они не использовали. - rox0r


Если в DevTools включен параметр «Отключить кеш (в то время как DevTools открыт)», то просто открыть DevTools достаточно, чтобы обойти кеш редиректа, не отбрасывая свой сеанс.


63
2018-02-27 15:14



примечание: если devTools открыт, существует быстрый способ удаления кеша: нажмите кнопку обновления нажатием правой кнопки мыши и выберите полную перезагрузку ;) - user65130
это не работает все время. Я удалил весь свой кеш и все еще перенаправляю. Только в режиме инкогнито он работает, и вы получаете последовательное поведение - Claudiu Creanga
Почему это не главное решение? другие ужасны в сравнении! - Brian
Больше не работает ... Вероятно, работал в 2014 году - Lord Loh.
@LordLoh. Я только что попробовал это в последней версии Chrome, и он работал точно так, как ожидалось. Когда devtools закрыты, перенаправление кэшируется. Перезагрузка страницы с открытыми инструментами не перенаправляется. - Mike Gossmann


Chrome кэширует HTTP-переадресацию и останавливает проверку с сайтом, если изменилось перенаправление. Это может быть удручающим, поскольку самый простой способ исправить (посещение сайта и принудительное обновление) нельзя использовать, поскольку перенаправление произойдет до того, как вы перейдете к ссылке. Это не будет исправлять проблему,

Чтобы обойти это, вы можете очистить данные просмотра, как объяснено Вот или вы можете выполнить приведенные ниже шаги и не потерять свою историю.

  1. Откройте инструменты разработчика Chrome dev-tools

  2. Нажмите «Настройки» settings

  3. Проверьте Отключение кэш-памяти (в то время как Devtools открыта) disable

  4. Посетите сайт, который вам нужен, и проблема с кешем будет решена.


18
2018-06-06 21:06



Вы также найдете опцию «отключить кеш» на вкладке сети, это та же опция. Для отладки перенаправления я бы предложил использовать «журнал сохранения». - Trendfischer


Перейдите в chrome: // net-internals и в правом углу откройте раскрывающийся список и выберите «Clear Cache». Начиная с версии 48, это было единственное, что помогло мне очистить кешированный 301 (постоянный переадресация).


14
2018-01-29 20:30



Работает на Chrome 56 - spencer.sm
Это сработало для меня спасибо - David Van De Meer


Чтобы очистить кеш редиректа для одной страницы в Chrome, Посмотреть источник и сделать жесткое обновление (CTRL + SHIFT + R),

Это работает, поскольку исходный браузер автоматически не выполняет 301 переадресацию.


7
2018-03-17 03:39



Не работал для меня в Chrome 25 - swrobel
Это не работает, если перенаправление для все страницы. У меня есть www. -> нет www. перенаправление - поэтому перенаправление находится на первом ударе, поэтому я ничего не могу обновить. Каждый раз, когда я пытаюсь перейти на страницу, чтобы обновиться, это следует за 301 - тогда уже слишком поздно! - Ian Grainger
@Ian Что делать, если вы вводите адресную строку в виде списка: www.example.com? Это позволяет вам обновляться без перенаправления? - Matthew Blackford
@MatthewBlackford AFAICT то же самое, я действительно получаю источник перенаправленной страницы. Не уверен, что мой тест был таким замечательным, хотя TBH. Я удалил историю просмотров, чтобы «исправить» эту проблему. - Ian Grainger
Это работает только для переадресации javascript и метатага. Переадресации HTTP по-прежнему соблюдаются - bfred.it


Как описано Вот может быть вызвано HSTS

Чтобы обойти это, я сделал следующее.

В адресной строке Chrome введите «chrome: // net-internals / # hsts».   в самом низу страницы находится текстовое поле домена QUERY - убедитесь, что ваш сайт (например, localhost)   известен браузеру. Если это так, удалите домен localhost, используя   текстовое поле над вашим сайтом должно теперь работать с использованием простого старого HTTP


6
2018-03-19 13:09



Привет, спасибо. Это действительно помогает при внезапном переадресации https-кеширования. - Ruberoid


Домены .dev вынуждены использовать HTTPS на Chrome 63+

Начиная с Chrome 63, начиная с декабря 2017 года, все домены, заканчивающиеся на .dev (и .foo), вынуждены использовать HTTPS через предварительно загруженный заголовок HTTP Strict Transport Security (HSTS).

Подробнее об этом здесь: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


5
2017-12-12 13:06



Это был мой виновник! Я провожу ЧАСЫ, пытаясь понять, что, черт возьми, происходит. Спасибо, что опубликовали это! - Jabari
Этот ответ требует больше голосов. Возможно, это не проблема, которую задавал этот вопрос, но многие разработчики найдут этот ответ в результатах поиска. - bp.