0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Edge が 301 リダイレクトをキャッシュして詰まった話

0
Posted at

状況

Docker構築練習をしている際、
古いコンテナを止めて終了したにも関わらず、
localhostを開くと
localhost接続のURLが古いもののままでした。

旧:localhost/tutorial
新:localhost

新しいURLを入力しても旧いURLが表示される...
当然なのだが、コンテナは止まっているためNotFoundとなる。
(どうやら/tutorial 配下にファイルはないかららしい)
なぜなのだ...

ブラウザとしてEdgeを使っていたのですが、
Chromeに変えるとなんと正常に表示されました。

ChatGPT5君に聞いたところ
原因は Edge の 301 リダイレクトキャッシュ でした。

原因:Edge の 301 キャッシュ

HTTP ステータスコード 301 (Moved Permanently) は「恒久的な移動」を意味し、
ブラウザはこの情報をキャッシュします。

開発中の一時的な設定変更でも、301 を返すと 以降は設定を直しても飛び続ける という厄介な性質があります。

対策方法

開発中は恒久リダイレクトを避ける

Apache/Nginx で開発時は 302(または307)リダイレクト を使うとよいそうです。
301は本番向けのキャッシュ用ステータスです。

原因

/ -> /tutorial の 301(Moved Permanently) はブラウザが強力にキャッシュします。
Chrome ではキャッシュがなくなった(or そもそも未保存)ため / が見える一方、Edge だけが 過去の 301 を保持 → いまだに /tutorial へ飛ぶ、という典型パターン。

確認 & 解消(Edge)

Edge で F12 → Network → “Disable cache” にチェック → ハードリロード(Ctrl+F5)。

わからないこと

Networkのステータスの200や400はかろうじてわかりやすいが、300系はまるで分らない。
キャッシュとは何か、微妙にわからない

気づき

ネットワークの知識、大切!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?