Кэширование в Firefox 5 '' 301 редирект



есть ли способ отключить эту "особенность"?



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



Если я остановился foo.html от 301'ING, я должен очистить кэш firefox, чтобы "исправить" это от событие.



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

501   9  

9 ответов:

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

This response is cacheable unless indicated otherwise. 

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

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

в 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 страница, больше не извлекая перенаправленную страницу из кэша.

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

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

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

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

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

  1. в меню история выберите показать всю историю.
  2. в поиске введите домен с кэшированной проблемой перенаправления, чтобы вызвать список результатов.
  3. щелкните правой кнопкой мыши на одном из них и выберите "Забыть об этом сайте".

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

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

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

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

  • на любой странице, нажмите F12 чтобы поднять инструменты разработчика
  • в дальнем правом углу нажмите на значок шестеренки "параметры Toolbox"
  • под Advanced Settings выберите опцию Disable Cache (when toolbox is open)

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

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

проверено в Firefox 39

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

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

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

В Firefox Версии 38.0

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

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

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

Comments

    Ничего не найдено.