Firefox のキャッシュ機能を無効化する


レンタルサーバーの解約により、以前 301 リダイレクトを設定していたアドレスを元に戻すことになった。

転送元サーバーの設定を変えて、確認のため Firefox でアクセスする。予定ではステータスコードは 200 に変化していて、レスポンスのボディには数 kb の HTML が含まれているはずだった。

301 。

変更前と同じようにリダイレクトされた。

サーバーの設定がうまくいっていなかったのだろうか。同じアドレスに cURL でアクセスすると 200 が返ってきた。ボディの内容も正しい。

Firefox に戻り、付属のネットワークツールを起動させて再度アクセス。するとどうやらサーバーを見に行ってもいない。キャッシュの情報をもとに転送しているらしい。

ツールから HTTP リクエストを弄って送り直してもサーバーにアクセスせず、キャッシュのデータを参考に 301 転送。

301 Moved Permanently 。

永久に移転していることを表わすステータスなので、このエコな振る舞いは正しい。だって永久に移転していることを宣言しているのだから。

前回のアクセスからほんの数分で別のステータスになっているなんて、考えられない状態である。そんなダサく管理されたサーバーのことなんて、考慮に入れる方がダサい。

あと cURL で変更が通っているのを確認できているのに Firefox での確認に固執しているのもダサい。

というわけで

Firefox のキャッシュを無効化する方法を調べた。

環境

  • Firefox 46.0.1

方法

  1. about:config を開く。
  2. browser.cache.disk.enablebrowser.cache.memory.enable を無効化する。

再起動なしで即座にキャッシュを使わなくなった。

やったー。

補足

  • 片方だけだとキャッシュは無効化されなかった。
    • 今回問題になったのが 301 リダイレクトであることと、サーバーの設定を変更する直前にアクセスしたせい?
  • ふたつ無効化するってなんかダサい。
    • 調べ方がダサいせいで見つからなかっただけかもしれない。