開発ブログ

WWWクリエイターズが送る、Git、CSS、HTML、コマンドライン、Macの便利機能など、開発に関する役立ち情報発信します。気まぐれに更新。

Google ChromeのDNSキャッシュを削除する方法。

最終更新:2017-05-10 by Joe

Google Chromeで開発をしていると、DNSキャッシュが邪魔をしてハマってしまうことがあります。

とくにHTTP30X系のリダイレクトは、厄介です。

ChromeのDNSについて

Chromeのみならず一般的なブラウザは30X系の転送シグナルをキャッシュします。30X系は、302(Found),307(Moved temporarily)のを除けば、一定期間その転送が続く事を意味するからです。

とくに301(Moved permanently)では、Chromeは(明示的にクリアされない限り)永久にキャッシュを維持するようです。

「続くよ」って言っているのに、改めて問い合わせるのは、さすがに無駄が多いため、通常はURLに基づいて、そのリダイレクト先のアドレスをキャッシュしてしまいます。

一番、このDNSキャッシュが問題になるのは、例えば、「.htaccess」からリダイレクトを仕掛けた時などです。開発者は、.htaccessをいじっていると、設定を変更したはずなのに、なぜか過去の転送設定から抜け出せなくなったり、意図しない振る舞いに悩まされることになるのです・・。

Chrome のDNSキャッシュをクリアする

とりあえずは、Chromeのこのデバッグモードを利用できます。

chrome://net-internals/#dns

小難しい感じの画面が立ち上がりますが・・・、この「Clear host cache」ボタンから、DNSキャッシュをクリアできます。この機能は、そんなに使う事はなさそうですが、念のためご紹介でした。

Chromeをキャッシュをすべて停止(無効化)するモード

いったん開発中は、とりあえず開発コンソールにアクセスして、すべてのキャッシュを無効化してみることをおすすめします。このチェックを入れると、開発モードではすべてのキャッシュを使わずに、開発を進めることができます。

開発コンソールを開いて(Cmd + Alt + i)、Console (ESCキー)を開いて、ここか

もしくは、Networkタブのここにあります。

これでいったんは大丈夫だと思います。

ChromeのDNSキャッシュクリアについて参考リンク

ブラウザの振る舞いに関しては、こちらが参考になります:

このサイトの記事ですが、Cromeのキャッシュについて網羅的にまとめました。

 

DNSキャッシュに関して、以上になります。

無事、DNSキャッシュをクリアできたでしょうか?快適な開発ライフを。

閉じる