10

ChromeはDNSレコードをキャッシュし、サイトに正常に接続した後(再起動を除く)、hostsファイルへの変更を無視する傾向があります。DNSプリフェッチを有効にすると、さらに顕著になります。

ChromeにサイトのDNSをキャッシュしないように指示するページヘッダーはありますか?Likeまたは?Cache-Controlのような応答ステータス307 Temporary Redirect

4

3 に答える 3

8

これがまさにあなたが探しているものかどうかはわかりませんが、これは私も開発環境を切り替えるのを悩ませ、ボタンをクリックしてキャッシュをクリアできるこの内部クロムページに出くわしました: chrome:// net-internals/#dns . そこに行った後、Clear host cacheボタンをクリックします。

編集 以下の回答に記載されているように、これがすぐに有効にならない理由は、開いているソケットもフラッシュする必要があるためです。DNS キャッシュをクリアした後、chrome://net-internals/#socketsに移動してボタンをクリックしFlush socket poolsます。

また、オペレーティング システムが独自のレベルのキャッシュを行う可能性があることにも注意してください。Linux は dns エントリをキャッシュしないと思います(少なくとも私にとってはクロム キャッシュをクリアするだけで十分です) が、Windows や Mac では OS レベルの DNS キャッシュもフラッシュする必要があるかもしれません。ipconfig /flushdnsWindows の場合sudo dscacheutil -flushcacheはコマンド ラインから、Mac の場合はコマンド ラインから実行します。

于 2012-12-20T21:28:14.230 に答える
4

これはおそらく Google Chrome の実際のバグです。追跡するためにhttp://crbug.com/65570を作成しましたが、考えられる追加情報があればバグに追加して、問題を正しく理解できるようにしてください。

Chrome を閉じる以外の唯一の回避策は、ネットワーク ケーブルを抜いてから再度差し込むことのようです。Chrome がそのようなイベントを検出すると、ソケットと DNS キャッシュをドロップします。/etc/hosts が変更されたことを確認すると、バグの正しい解決策は同じようになる可能性があります。

バグがいつ修正されたか知りたい場合は、http://crbug.com/65570にアクセスし、バグ番号の横にある星をクリックしてください。そして、私が言ったように、追加情報があればバグに追加してください。

于 2010-12-06T10:24:11.370 に答える
2

私の場合、カスタム ホスト ファイルを使用して開発 Web サーバーと運用サーバーから切り替えることがよくあります。Chrome からすべての DNS キャッシュ情報をクリアするには、この手順を使用します。更新された Web サイトのアドレス:

  1. この URL をコピーして Chrome に貼り付けます: chrome://net-internals/#dns
  2. [Clear Host Cache] ボタンをクリックし、ウィンドウの右上隅にある小さな黒い矢印をクリックして、[Clear cache] と [Flusk Sockets] をクリックすると、新しいアドレスがすぐに読み込まれます。

Chrome DNS パネル

于 2016-08-24T13:00:23.750 に答える