【入門編】HTTP/1.1におけるステータスコード301と302の使い分け – HTTPプロトコル・通信規格実践ガイド

「あっちに引っ越しました!」を伝える魔法:HTTP 301と302の使い分け、徹底解説

こんにちは!ネットワークの世界へようこそ。
WebブラウザでURLを入力してサイトを開くとき、裏側では「郵便屋さん」のような仕組みが絶えず動いています。

私たちがブラウザにURLを入力すると、サーバーに対して「この情報、ちょうだい!」と手紙(リクエスト)を送ります。するとサーバーは「はい、これだよ」と中身(レスポンス)を返してくれます。

でも、たまにこんなことが起きますよね。「あれ?アクセスしたのに、勝手に別のページに飛ばされたぞ?」と。これが「リダイレクト」です。

今日は、このリダイレクトの代表格である「301」と「302」について、なぜ使い分ける必要があるのか、その裏側のドラマを紐解いていきましょう。

—

そもそも「リダイレクト」って何をしているの?

現実世界で例えるなら、「引っ越し」です。

あなたが友人に手紙を出そうとして、以前住んでいたアパートへ行ったら、ドアに「転居しました。新しい住所はこちらです」という貼り紙がしてある状態を想像してみてください。

HTTPの世界でも同じです。サーバーはブラウザに対して、こんなふうに伝えています。

> 「ごめん!そのページはもうここにはないんだ。代わりに、あっちの新しいURLを見に行ってくれないかな?」

これがリダイレクトの正体です。そして、その「転居届」の種類が「301」なのか「302」なのかで、意味が全く変わってくるのです。

—

301 Moved Permanently:完全に「引っ越し」ました!

301は「恒久的なリダイレクト」と呼ばれます。
「もう二度と前の住所には戻らないよ。今後はこっちの新しい住所を直接使ってね!」という、強い宣言です。

なぜこれが重要なのか?

検索エンジン(Googleなど)のロボットは、この「301」を見つけるとこう考えます。
「おっ、このページは完全に移転したんだな。じゃあ、前のページの評価(SEOスコア)を、新しいページにそのまま引き継いであげよう!」

つまり、サイトのドメイン変更や、HTTPSへの完全移行を行うときは、必ずこの「301」を使うのが鉄則なんです。

—

302 Found:ちょっと「仮住まい」してます!

一方、302は「一時的なリダイレクト」です。
「今のところはあっちのページを見せておくけど、近いうちにまた元の住所に戻るかもしれないよ」というニュアンスです。

どんな時に使うの?

例えば、以下のようなケースです。

  • メンテナンス中: 「ただいまサイト改修中なので、一時的にこちらの告知ページを見ていてね」
  • キャンペーン期間中: 「クリスマス期間だけ、特設ページに飛ばしておくね」

検索エンジンは302を見ると、「あ、これは一時的なものだから、元のページの評価はそのままにしておこう。新しいページをインデックス(検索結果に登録)したりはしないでおこう」と判断します。

—

サーバーでの設定イメージ(Nginxの例)

現場のエンジニアがよく触るNginxというサーバーソフトでは、こんなふうに設定を書きます。

恒久的な移転 (301)
訪問者に「今後はここじゃなくてこっちだよ!」と教えます
location /old-page {
return 301 https://example.com/new-page; # ずっとここ!
}

一時的な移転 (302)
訪問者に「今はこっちを見ててね」と伝えます
location /maintenance {
return 302 https://example.com/temporary-notice; # また戻るかも!
}

設定自体はとてもシンプルですよね。でも、この「301か302か」という小さな数字の選択が、将来的なサイトの検索順位や、ユーザーがブラウザのキャッシュ(記憶)をどう扱うかに大きな影響を与えるんです。

—

一歩ずつ理解するためのまとめ

最後に、今日の内容をサクッと整理しておきましょう!

| ステータスコード | 意味 | SEOへの影響 | 使いどころ |
| :— | :— | :— | :— |
| 301 | 恒久的な移転 | 評価が引き継がれる | ドメイン変更、HTTPS化 |
| 302 | 一時的な移転 | 評価は元のページに留まる | メンテナンス、短期イベント |

「とりあえず動けばいいや」で302ばかり使っていると、検索エンジンがいつまで経っても新しいページを正当に評価してくれない……なんていうトラブルが起きることもあります。

ネットワークを支えるエンジニアとして、この「言葉のニュアンス」を大切にすることで、ユーザーにとっても、検索ロボットにとっても親切なWebサイトを作ることができるようになりますよ。

次はぜひ、実際にブラウザの「開発者ツール(F12キー)」を開いて、ネットワークタブから「301」や「302」がどんなヘッダー情報と一緒に送られてきているか、その目で確認してみてください!

それでは、また次の技術でお会いしましょう。ハッピー・ネットワーキング!

コメント

タイトルとURLをコピーしました