Firefox 5 'caching' 301 перенаправляет - PullRequest
89 голосов
/ 08 августа 2011

Есть ли способ отключить эту «функцию»?

Например, если сделан запрос к http://localhost/foo.html, который я указал «301» для корневого адреса, все последующие запросы к foo.html полностью обойти веб-сервер, и ffox 5 проверит его кеш, прочитает, что этот URL-адрес был «301» ранее, и перенаправляет его, даже не проверяя изменения.

Если я остановил foo.html с 301 'Однако мне нужно очистить кэш Firefox, чтобы «исправить» это.

Chrome, IE и предыдущая версия Firefox этого не делают.

Ответы [ 9 ]

109 голосов
/ 09 октября 2012

В Firefox, если у вас есть аддон панели инструментов "веб-разработчик". Вы можете нажать отключить -> отключить кэш -> каждый раз проверять наличие новой версии страницы. Затем перезагрузите URL, и он обновит ваш кеш. Так что вам не нужно очищать ваш полный кеш.

Из комментария cptstubing06, следующее может помочь очистить кеш:

  1. Введите Ctrl + l , чтобы навести курсор на строку местоположения.
  2. Введите about:config, чтобы открыть настройки конфигурации .
  3. Подтвердите все предупреждения.
  4. Введите browser.cache, а затем Введите , чтобы отфильтровать настройки.
  5. Двойной щелчок browser.cache.check_doc_frequency.
  6. Измените значение с 3 на 1.
  7. Нажмите OK.
  8. Пересмотрите навязчиво кэшированную страницу 301.
  9. Сбросьте частоту обратно на 3, когда закончите.

Firefox теперь должен перенаправлять на новую страницу 301, больше не выбирая перенаправленную страницу из кэша.

44 голосов
/ 08 августа 2011

301 - это обычный кешируемый код ответа.http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2 говорит:

This response is cacheable unless indicated otherwise. 

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

Вытакже можно очистить кеш вручную .

24 голосов
/ 04 апреля 2012

Я только что столкнулся с этой проблемой, и для меня это было две проблемы.

Это конкретное доменное имя маршрутизируется через Cloudflare, поэтому мне пришлось установить его в режим разработки.Я думаю, что Cloudflare кэшировал редирект 301, поэтому ему не нужно было отправлять запрос на сервер.Этот шаг может быть неприменим к вам.

Затем я просто очистил кэш Firefox (версия 11), выбрав Сервис -> Параметры, нажав кнопку «Дополнительно» в правом верхнем углу, выбрав вкладку «Сеть» изатем нажмите Очистить сейчас в разделе Кэшированный веб-контент.Обратите внимание, что мой кэш уже был установлен на 0, но мне все еще нужно было нажать кнопку «Очистить сейчас», чтобы перенаправить, чтобы перестать кэшироваться.

Мне было бы интересно узнать, может ли кто-нибудь еще проверить это.

9 голосов
/ 11 января 2014

Я нашел решение для этого, которое работает на Firefox 26, после того как устаревшее перенаправление кешируется более месяца и перезапускается.

  1. В меню «История» выберите «Показать всю историю».
  2. В поиске введите домен с проблемой кэшированного перенаправления, чтобы вызвать список результатов.
  3. Щелкните правой кнопкой мыши по одному из них и выберите «Забудьте об этом сайте».

Все кэшированные страницы, изображения и перенаправления для только для этого сайта будут удалены из кэша. Это позволяет очистить перенаправление для вашего веб-сайта разработки без очистки остальной части вашего кэша.

В качестве примечания, я думаю, что Firefox должен кэшировать перенаправления максимум на несколько дней. Кэширование их более месяца может сделать большую ошибку большой проблемой.

5 голосов
/ 21 июля 2015

Инструменты разработчика, встроенные в последние версии Firefox, имеют решение для этого.Во-первых, отключите кеширование, когда панель разработки открыта:

  • На любой странице нажмите F12 , чтобы вызвать инструменты разработчика
  • В крайнем правом углу нажмитезначок шестеренки «Опции панели инструментов»
  • Под Advanced Settings установите флажок Disable Cache (when toolbox is open)

Теперь, когда вы хотите принудительно обновить кэшированную страницу, загрузите/ обновить страницу с открытой панелью инструментов F12 dev.Firefox будет обходить кеш и получать свежие данные с сервера.

Я предпочитаю этот метод, потому что он не меняет поведение браузера при «обычном» не отладочном просмотре, а вы - нетрискуя забыть восстановить глобальное значение до его первоначального значения.

Проверено в Firefox 39

5 голосов
/ 11 апреля 2014

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

3 голосов
/ 08 августа 2011

301 указывает на перемещение навсегда.Поэтому я считаю разумным кэшировать ответ.

Вы пробовали установить заголовки cache-control и expires?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

2 голосов
/ 30 июня 2015

В Firefox версии 38.0

Menu -> Edit -> Preferences -> Advanced -> Network -> Clear Now

работал для меня.

1 голос
/ 08 августа 2011

301 означает «Перемещение навсегда» и его можно кэшировать, поэтому я считаю, что это «правильное» поведение для браузера.Вы должны использовать 303 См. Другое .

...