Firefox 5の「キャッシュ」301リダイレクト


92

この「機能」を無効にする方法はありますか?

たとえばhttp://localhost/foo.html、ルートアドレスに「301」を指定したことに対してリクエストが行われた場合foo.html、Webサーバーを完全にバイパスし、ffox 5がそのキャッシュをチェックする後続のすべてのリクエストは、このURLが以前に「301」されたことを読み取り、変更を確認せずにリダイレクトします。

foo.html301 をやめた場合は、Firefoxのキャッシュをクリアして、これを「修正」する必要があります。

Chrome、IE、および以前のバージョンのFirefoxでは、これは行われません。


キャッシュを削除しても、このエラーは解決しません(Firefox 17.0.1、Linux)。
KonradHöffner12年

2
@kirdie [最近の履歴をクリア]ダイアログで、時間範囲を[すべて]に設定し、[キャッシュ]チェックボックスをオンにします。選択した期間がリダイレクトされたURLへのアクセスよりも新しい場合、キャッシュエントリは消去されません。
ケルビン

13
@kirdieと同じ問題のある全員:Ctrl + Hで履歴を確認します。次に、サイトを右クリックして、[このサイトのすべての履歴を削除する](または類似の何か)を選択します。それは私のためにそれをしました。
LarsNyström2013年

4
@LarsNyström:Webアプリの開発中にこれに遭遇しました-あなたの提案は私にとって完璧に機能しました。それはFF20.0で「このサイトを忘れる」だった
シンコデナダ

1
「移動と呼ばれる301ではありません恒久的に私はHTTPSのみを扱っているサーバを持っている人々が(悪い十分な彼らは、リクエストURIを明らかにするだろうから、それは、のように)HTTPを使用して自分のドメイン名に行けば、私はブラウザは覚えておきたいと思いますが」その永続的ではなく、すべての時間を確認します。http。

回答:


45

301は、通常のキャッシュ可能な応答コードです。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2言う:

This response is cacheable unless indicated otherwise. 

したがって、キャッシュしたくない場合、サーバーは、キャッシュの動作を制御するために使用される通常のヘッダーを介して、それ以外のことを示す必要があります。

手動でキャッシュをクリアすることもできます。


7
代わりに302を使用する方が簡単だと思います。デフォルトではキャッシュできません。
Frank Farmer

22
@Boris Zbarsky:「キャッシュの書き込みが最初から発生しないようにするにはどうすればよいですか」ではなく、「キャッシュをクリアするにはどうすればよいですか」ではありませんか?
ボビージャック

4
「キャッシュをクリアする必要がないようにするにはどうすればよいですか」という質問は、私には確かに思えました。
Boris Zbarsky

17
リダイレクトが間違っていることがわかっている場合でも、リダイレクトを「shift-reload」することができないので、これは問題です。他のすべての不良キャッシュリソースは個別にリロードできますが、これらの気の利いたリダイレクトはできません。
Sam Watkins

1
IISからの302リダイレクトを使用してみましたが、Firefoxの最新バージョン(およびChromeとEdgeとIE)は、それらの動作から判断して、それらもキャッシュします。プライベートウィンドウを開いて強制終了することが、Webサイトをテストし、ブラウザーのキャッシュを破壊することを避けるための最良の方法であることがわかりました。
dsmtoday

117

Firefoxでは、「Web開発者」ツールバーのアドオンがあります。無効にする->キャッシュを無効にする->毎回新しいバージョンのページをチェックすることができます。次に、URLをリロードすると、キャッシュが更新されます。そのため、完全なキャッシュをクリアする必要はありません。

cptstubing06のコメントから、以下はキャッシュのクリアに役立ちます。

  1. タイプ Ctrl+lしてカーソルをロケーションバーに置きます。
  2. と入力about:configして構成設定を開きます
  3. 警告を確認します。
  4. browser.cache続けて入力しEnterて、設定をフィルタリングします。
  5. をダブルクリックしますbrowser.cache.check_doc_frequency
  6. 値をから3に変更します1
  7. をクリックしOKます。
  8. とりあえずキャッシュされた301ページを再訪してください。
  9. 終了したら、周波数を3に戻します。

これで、Firefoxは新しい301ページにリダイレクトし、リダイレクトされたページをキャッシュからフェッチしなくなります。


4
これは私にとっては素晴らしい解決策です。キャッシュに99%の確率で301をキャッシュしたいのですが、ブルーになったらリダイレクトの場所を変更する必要があり、キャッシュ全体をクリアしたくない場合があります。明確にするために、FirefoxにはWeb Developerツールの下に独自のメニューがありますが、アドオンではありません。アドオンはとも呼ばWeb Developerれますが、[ツール]メニューに表示されWeb Developer Extension、次の場所からダウンロードできます:addons.mozilla.org/en-us/firefox/addon/web-developer
cptstubing06 2013

5
注- リダイレクトされたURLのキャッシュをFirefoxで更新する場合は、を使用しWeb Developer Extensionて一時的にFirefoxの変更動作を制御し、常に新しいバージョンを確認してから、通常の設定に戻すことができます。これは、Web Develoepr Extension-> Disable-> Disable Cache-> Check for New Version of Page-> Check for New Version of Pageにあります。
cptstubing06 2013

1
どちらの方法を選択した場合でも、手順はこの設定を変更して常に新しいバージョンを確認してから、リダイレクトがキャッシュされているURLをロードします。次に、サーバーにアクセスして、そのURLに対する新しい応答を取得し、新しい応答でキャッシュを更新します。次に、キャッシュチェックの頻度を元の値に戻すことができます(デフォルトは「ページが古くなったとき」ですが、「セッションごとに1回」を使用して、この正確なシナリオが私の関与なしに処理されるようにします)。
cptstubing06 2013

@ cptstubing06そのヒントをありがとう!あなたがそれを解決策として提出したのであれば、私はあなたがキャッシュ全体をクリアしたくないときにこれを処理する最良の方法としてそれを賛成できるように。
Mercurybullet 2013

ちなみにDNS over HTTPS、これを期待どおりに機能させるには、無効にする必要があるかもしれません。
user2741287

25

私はこの問題を経験しました、そして私にとってそれは2つの問題でした。

この特定のドメイン名はCloudflare経由でルーティングされるため、開発モードに設定する必要がありました。Cloudflareは301リダイレクトをキャッシュしていたので、サーバーにリクエストを送信する必要がなかったと思います。このステップは明らかにあなたに当てはまらないかもしれません。

次に、Firefoxキャッシュ(バージョン11)をクリアするには、[ツール]-> [オプション]に移動し、右上の[詳細設定]ボタンをクリックして、[ネットワーク]タブを選択し、[キャッシュされたWebコンテンツ]セクションの[今すぐ消去]をクリックします。キャッシュはすでに0に設定されていますが、リダイレクトを取得してキャッシュを停止するには、[今すぐ消去]ボタンをクリックする必要があることに注意してください。

他の誰かがこれを確認できるかどうか知りたいです。


2
+1。Firefoxのキャッシュをクリアすることについてのあなたのメモは、Firefoxが更新された301を取得していなかった特定のURLに対して(ウェブサイトの所有者ではなく、ユーザー/クライアントとして)これを修正しました。ありがとう。
ジョンシュナイダー

1
このFirefoxプラグインを使用して、キャッシュされたリダイレクトのみを削除できます:addons.mozilla.org/en-us/firefox/addon/cacheviewer-continued
Steve

9

廃止されたリダイレクトを1か月以上キャッシュして再起動した後、Firefox 26で機能するこのソリューションを見つけました。

  1. [履歴]メニューの[すべての履歴を表示]を選択します。
  2. 検索で、キャッシュされたリダイレクトの問題があるドメインを入力して、結果のリストを表示します。
  3. それらの1つを右クリックして、「このサイトについて忘れる」を選択します。

そのサイトのみのすべてのキャッシュページ、画像、リダイレクトはキャッシュから削除されます。これにより、残りのキャッシュをクリアせずに、開発Webサイトのリダイレクトをクリアできます。

余談ですが、Firefoxはリダイレクトを最大で数日間キャッシュするだけでよいと思います。1か月以上それらをキャッシュすると、単純なミスが大きな問題になることがあります。


2
これは機能しますが、「このサイトを忘れる」では、URL履歴(オートコンプリートの場合)とドメイン全体の保存されたパスワードも忘れられることに注意してください。あなたが望むものではないかもしれません。
tanius

5

簡単な解決策の1つは、プライベートブラウザウィンドウを使用することです。


これは私の簡単な修正であり、URLの末尾に疑問符を追加するだけでうまくいく場合があります。
johnsnails 2015

5

最近のバージョンのFirefoxに組み込まれている開発者ツールには、これに対する解決策があります。まず、開発ペインが開いているときにキャッシュをオフにします。

  • どのページでも、ヒットF12して開発者ツールを呼び出します
  • 右端にある歯車のアイコン「ツールボックスオプション」をクリックします
  • 下のAdvanced SettingsオプションをチェックDisable Cache (when toolbox is open)

キャッシュページを強制的に更新したい場合は、F12開発ツールボックスを開いた状態でページをロード/更新してください。Firefoxはキャッシュをバイパスし、サーバーから新しいデータを取得します。

私はこの方法を好みます。ブラウザが「通常の」非デバッグブラウジングの動作を変更せず、グローバル設定を元の値に戻すことを忘れないためです。

Firefox 39で検証済み


1
キャッシュされたリダイレクトは役に立ちません。
SuperDuck 2017年

3

301は永久に移動したことを示します。したがって、応答をキャッシュするのが妥当だと思います。

cache-controlexpiresヘッダーを設定してみましたか?

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


3
サーバーを開発または移行しているとき、または障害を追跡しているときに、本当に邪魔になる可能性があるため、この機能をオフにする必要がある場合があります。
Jason、

2

Firefoxバージョン38.0の場合

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

私のために働いた。


1

301は永続的に移動し、キャッシュ可能であることを意味します。そのため、ブラウザにとっては「正しい」動作だと思います。303 See Otherを使用してください


5
IEとChromeのキャッシュ303およびHTTP仕様は、キャッシュできるように変更されています。tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-15で下書きを参照してください。したがって、リダイレクトキャッシュを防止する唯一の安全な方法は、明示的なCache-controlヘッダーを設定することです。
Boris Zbarsky、2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.