どうすればChromeがリダイレクトをキャッシュしないようにすることができますか?
redirects
を使用しているウェブアプリケーションで作業をしています。しかし、Google Chromeはリダイレクトを記憶しており、コードを変更しても同じようにリダイレクトしてしまいます。Google Chrome はまだ /this
にリダイレクトしています。リダイレクトがキャッシュされているか何かのように。これをオフにする方法はありますか?
redirects
を使用しているウェブアプリケーションで作業をしています。しかし、Google Chromeはリダイレクトを記憶しており、コードを変更しても同じようにリダイレクトしてしまいます。Google Chrome はまだ /this
にリダイレクトしています。リダイレクトがキャッシュされているか何かのように。これをオフにする方法はありますか?
Google Chromeは、301リダイレクトをキャッシュします。これを回避するには、ブラウザのキャッシュをクリアする必要があります。> プライバシー]をクリック Clear browsing data…
他に何を選択しても、"Cached images and files “がチェックされていることを確認してください。
その後、Clear browsing dataをクリックすれば、再テストができるはずです。
リダイレクトに従った場合は、過去1時間分のデータを削除するだけです。そこではブラウザを閉じた後にキャッシュがフラッシュされます。
閲覧データをすべてクリアせずにリダイレクト用のChromeのスティッキーメモリをクリアする確実な方法です(現在のトップアンサーが使用している方法):
開発者ツール_パネル(Macではoptioncommandi、Windowsではctrlshifti)を開く
リロードアイコンをクリックしたまま
メニューが開きます。このメニューから3つ目のオプション("Empty Cache and Hard Reload")を選択します。
ここでは、これらの3つのオプションがどのように異なるかの優れた説明があります。
これについては Chromium のバグ “ wontfix” があります ,
それは期待される動作です。
注意事項:
1.301 にキャッシュコントロールヘッダーを追加することができます、そして我々はそれに従います (有効期限など) 2. 問題のリソースがサブリソースの場合、ページをリロードするとリダイレクトがサーバーで再検証されます 3.キャッシュ全体を失う必要はありません。リダイレクトを辿って最後の1時間を削除すればいいだけです。
DevToolsで「キャッシュを無効にする(DevToolsが開いている間は)」オプションを有効にしている場合は、DevToolsを開いているだけで、セッションを常に捨てずにリダイレクトキャッシュをバイパスすることができます。
Chrome は HTTP リダイレクトをキャッシュし、リダイレクトが変更された場合はサイトとのチェックを停止します。リンクにアクセスする前にリダイレクトが発生するため、最も簡単な修正方法(サイトにアクセスして強制的にハードリフレッシュ)を使用できないため、これはイライラさせることができます。これは、問題を修正しませんです。
これを回避するには、ここで説明されているように、あなたのブラウジングデータをクリアするか、以下の手順に従うことができ、あなたの履歴を失うことを避けることができます。Chrome Developer Tools
設定
キャッシュを無効にする(DevToolsを開いている間)**
にチェックを入れる 4. お目当てのサイトにアクセスするとキャッシュ問題が解決します。
chrome://net-internalsに移動し、右端のドロップダウンを開いて「キャッシュのクリア」を選択します。バージョン48の時点では、これだけでキャッシュされた301(永久リダイレクト)をクリアすることができました。
Update: 残念ながら、バージョン71(2018年12月)の時点で、Googleはnet-internalsの機能を削除しています。
2017年12月のChrome 63以降、.dev(と.foo)で終わるすべてのドメインは、プリロードされたHTTP Strict Transport Security(HSTS)ヘッダを介してHTTPSを使用することを強制されています。
詳細はこちら。 https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/
Chromeで単一ページのリダイレクトキャッシュをクリアするには、View Sourceをクリックして、ハードリフレッシュ(CTRL + SHIFT + R)
を実行してください。
リダイレクトが期待通りに動作しているかどうかを確認したいだけなら、wget などのコマンドラインツールを使った方が簡単でしょう。レスポンスヘッダを調べることができ、リダイレクトがキャッシュされていないことを確認できます。
最も簡単な方法は、ハードリフレッシュです。これは静的リソースと同様にリダイレクトをクリアします。
キャッシュ全体を失いたくない場合、リダイレクトがキャッシュに残っている場合は、URLのview-source:バージョンにアクセスしてみてください。これで同じURLのリダイレクトキャッシュがリフレッシュされました。
あなたはページを制御することができ、あなたがブラウザがページをキャッシュしたくない場合は、正しい方法は、次のヘッダーを追加することです:
Cache-Control: no-cache
しかし、ブラウザはまだキャッシュからロードされているので、これを行うだけでは、すぐに動作しません; この変更を行った後、ページを再ロードするには、この答えに従ってください https://superuser.com/a/924748/100398
私はこのページ上のすべての答えを試してみましたが、私はWindowsのコマンドラインウィンドウ上でflushdnsを実行するまで、どれも動作しませんでした。
C:\Users\DBashyal>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
FYI、私はすでにこのの答えに記載されているようにDisable cache
をチェックしていました。