Кэширование в Firefox 5 '' 301 редирект
есть ли способ отключить эту "особенность"?
например, если запрос сделан в http://localhost/foo.html что я указал '301' на корневой адрес, все последующие запросы к foo.html полностью обойдите веб-сервер, и ffox 5 проверит его кэш, прочитает, что этот url-адрес был ранее " 301 " и перенаправлен, даже не проверяя изменения.
Если я остановился foo.html от 301'ING, я должен очистить кэш firefox, чтобы "исправить" это от событие.
Chrome, IE и предыдущая версия Firefox не делают этого.
9 ответов:
301 - это просто обычный кэшируемый код ответа. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2 говорит:
This response is cacheable unless indicated otherwise.поэтому, если вы не хотите, чтобы он кэшировался, ваш сервер должен указать иначе через обычные заголовки, используемые для управления поведением кэша.
вы можете очистить кэш вручную.
в Firefox, если у вас есть аддон панели инструментов" веб-разработчик". Вы можете нажать кнопку отключить -> отключить кэш -> проверить новую версию страницы каждый раз. Затем перезагрузите URL-адрес, и он обновит ваш кэш. Так что вам не нужно, чтобы очистить весь кэш.
из комментария cptstubing06, следующее может помочь очистить кэш:
- тип Ctrl+l для наведения курсора на строку местоположения.
- тип
about:configоткрыть настройки настройки.- подтверждения каких-либо предупреждений.
- тип
browser.cacheзатем введите фильтр параметров.- дважды щелкните значок
browser.cache.check_doc_frequency.- изменить значение
3до1.- клик
OK.- вернитесь к одержимо кэшированной 301 странице.
- сбросьте частоту обратно на 3, Когда закончите.
Firefox теперь должен перенаправить на новый 301 страница, больше не извлекая перенаправленную страницу из кэша.
Я только что испытал эту проблему, и для меня это было две проблемы.
Это конкретное доменное имя маршрутизируется через Cloudflare, поэтому мне пришлось установить его в режим разработки. Я думаю, что Cloudflare кэшировал перенаправление 301, поэтому ему не нужно было отправлять запрос на сервер. Этот шаг может не относиться к вам, очевидно.
затем я просто очистил свой кэш Firefox (версия 11), перейдя в сервис - > параметры, нажав кнопку Дополнительно в правом верхнем углу, выбрав Вкладка сеть, а затем нажмите кнопку Очистить сейчас в разделе Кэшированное веб-содержимое. Обратите внимание, что мой кэш уже был установлен в 0, но мне все еще нужно было нажать кнопку Очистить сейчас, чтобы перенаправление перестало кэшироваться.
Мне было бы интересно узнать, может ли кто-нибудь еще проверить это.
Я нашел решение для этого, которое работает на Firefox 26,после того, как устаревший перенаправление кэшируется в течение месяца и перезагрузки.
- в меню история выберите показать всю историю.
- в поиске введите домен с кэшированной проблемой перенаправления, чтобы вызвать список результатов.
- щелкните правой кнопкой мыши на одном из них и выберите "Забыть об этом сайте".
все кэшированные страницы, изображения и перенаправляет на только что сайт будет удален из кэша. Это позволяет очистить перенаправление для вашего веб-сайта разработки без очистки остальной части кэша.
в качестве примечания я думаю, что 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