2011-06-30 17:05:28 +0000 2011-06-30 17:05:28 +0000
427
427
Advertisement

Как заставить Chrome перестать кэшировать редиректы?

Advertisement

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

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

Это очень усложняет диагностику.

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

Advertisement

Ответы (18)

334
334
334
2011-06-30 17:29:54 +0000

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

Меню Chrome

> Настройки > Показать расширенные настройки… > Конфиденциальность > Нажмите Очистить данные просмотра…

Что бы вы ни выбрали, убедитесь, что опция “Кэшированные изображения и файлы” отмечена галочкой.

Затем нажмите Очистить данные просмотра, и вы должны быть в состоянии повторно протестировать.

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

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

160
160
160
2015-01-26 18:12:17 +0000

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

  1. Откройте панель Developer Tools (опцияcommandi на Mac или ctrlshifti на Windows)

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

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

  4. Выберите 3-ю опцию из этого меню (“Пустой кэш и жесткая перезагрузка”)

Вот отличное объяснение чем отличаются эти 3 опции .

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

115
Advertisement
115
115
2013-10-16 06:10:40 +0000

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

92
92
92
2012-10-09 07:16:58 +0000

Есть ошибка “wintfix” Chromium об этом ,

Таково ожидаемое поведение.

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

  1. Вы можете добавить заголовки управления кэшем к 301, и мы последуем за ними (истечение срока действия и т.д.)
  2. Если рассматриваемый ресурс является подресурсом, перезагрузка страницы приведет к тому, что перенаправление будет повторно проверено сервером.
  3. Вам не придется терять весь кэш. Просто следуйте за редиректом и удалите последний час.
67
Advertisement
67
67
2014-02-27 15:14:00 +0000

Если в DevTools включена опция “Отключить кэш (пока DevTools открыт)”, то простого открытия DevTools достаточно, чтобы обойти кэш перенаправления, не выбрасывая постоянно сессию.

23
23
23
2015-06-06 21:06:20 +0000

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

Для обхода этого, вы можете очистить данные просмотра, как описано здесь здесь , или вы можете следовать шагам, указанным ниже, и избежать потери истории.

  1. Откройте Инструменты для разработчиков Chrome

  2. Нажмите в Настройки

  3. Проверьте Открытый кэш (при открытом DevTools)

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

15
Advertisement
15
15
2016-01-29 20:30:02 +0000

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

Обновление: К сожалению, с версии 71 (декабрь 2018) Google удалил функцию net-internals.

8
8
8
2017-12-12 13:06:47 +0000

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

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

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

7
Advertisement
7
7
2013-03-17 03:39:06 +0000

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

Это работает, так как браузер-источник не будет автоматически следовать 301 перенаправление.

6
6
6
2015-03-19 13:09:02 +0000

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

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

В адресной строке Chrome введите тип “chrome://net-internals/#hsts” В самом низу страницы находится текстовое поле QUERY домена - убедитесь, что ваш сайт (например, локальный хост) известен браузеру Если это так, УДЕЛИТЕЛЬНЫЙ домен локального хоста с помощью текстового поля над вашим сайтом теперь должен работать с использованием обычного старого HTTP

5
Advertisement
5
5
2014-03-19 08:50:06 +0000

В Chrome или Firefox вы можете обновить редирект, набрав “view-source:redirect.yoursite.com” и нажав Enter. Затем обновите страницу. Теперь, это должно заставить Chrome или Firefox обновить редирект.

4
4
4
2012-04-10 19:29:28 +0000

Если вы просто хотите проверить, что перенаправление работает так, как ожидалось, то, вероятно, проще использовать инструмент командной строки, такой как wget или аналогичный. Вы можете проверить заголовки ответов, а перенаправление не кэшируется.

3
Advertisement
3
3
2016-02-16 00:22:09 +0000

Для разработки рекомендую в Chrome открыть настройки DevTools и установить флажок “Отключить кэш”. Тогда 30-кратные переадресации не будут кэшироваться, и вы сможете отлаживать .htaccess файлы и так далее

.

1
1
1
2015-06-23 13:34:07 +0000
  1. Перейти на chrome://settings/search#clear%20browsing%20data

  2. Нажмите “Очистить данные просмотра”

  3. Установите флажок “Кэшированные изображения и файлы” (и снимите флажок с остальных, если хотите)

  4. Нажмите “Очистить данные просмотра”

.

1
Advertisement
1
1
2015-08-19 19:28:20 +0000

Простейший метод, жесткое обновление. Подержите Ctrl + R несколько секунд. Это очищает перенаправления, а также статические ресурсы.

1
1
1
2017-11-15 09:52:12 +0000

Если вы не хотите потерять весь кэш, а ваш редирект все еще застрял в кэше, вы можете попробовать посетить view-source: версию url. Это обновило кэш перенаправления той же URL для меня.

0
Advertisement
0
0
2019-12-10 13:22:43 +0000

Если вы можете управлять страницей и не хотите, чтобы браузеры кэшировали страницу, то правильным способом будет добавить следующий заголовок:

Cache-Control: no-cache

Но это не сработает сразу, так как браузер все еще загружается из кэша; после этого изменения следуйте этому ответу, чтобы перезагрузить страницу https://superuser.com/a/924748/100398 .

0
0
0
2017-01-03 01:37:14 +0000

Я перепробовал все ответы на этой странице, но ни один из них не сработал, пока я не запустил flushdns в окне командной строки windows.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

FYI, я уже проверил Disable cache, как указано в ответе this .

Похожие вопросы

16
1
10
2
5
Advertisement
Advertisement