Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

HTTP 302(サンマルニ)とは | 意味や読み方など丁寧でわかりやすい用語解説

HTTP 302(サンマルニ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

HTTP 302 検索 (エイチティーティーピーサンマルニ ケンサク)

英語表記

HTTP 302 (サンマルニ)

用語解説

HTTP 302は、HTTPステータスコードの一つで、リクエストされたリソースが一時的に別のURLに移動したことを意味する。クライアント(ウェブブラウザなど)は、Locationヘッダで指定されたURLに自動的にリダイレクトされる。このリダイレクトは、通常、クライアント側には意識されない。

HTTPステータスコードは、サーバーがクライアントからのリクエストに対してどのような応答をしたかを示す3桁の数字である。300番台はリダイレクトを表し、その中でも302は「Found」という名前が付けられている。これは、リクエストされたリソースは存在しているが、一時的に別の場所にあることを意味する。

302リダイレクトは、様々な場面で使用される。例えば、ウェブサイトのメンテナンス中に一時的に別のページにユーザーを誘導する場合や、A/Bテストを実施する際に、ユーザーを異なるバージョンのページに振り分ける場合などが挙げられる。また、ログイン後のリダイレクトや、ショッピングカートに商品を追加した後に、カートページにリダイレクトする場合などにも利用される。

302リダイレクトの重要な特徴として、HTTPメソッドの扱いがある。当初、HTTP 1.0の仕様では、クライアントは元のリクエストで使用したメソッド(GET、POSTなど)に関わらず、リダイレクト先へのリクエストをGETメソッドで行うことが推奨されていた。しかし、この仕様は実装によって解釈が異なり、POSTリクエストがGETリクエストに変わってしまうという問題が発生した。

この問題を解決するために、HTTP 1.1では、302リダイレクトの際に、元のリクエストで使用したメソッドを保持することが推奨されるようになった。しかし、依然として古いクライアントやサーバーでは、メソッドが変更される可能性があるため、注意が必要である。

より明確な動作を保証するために、HTTP 1.1では、307 Temporary Redirectというステータスコードが導入された。307は、302と同様に一時的なリダイレクトを示すが、クライアントは元のリクエストで使用したメソッドを必ず保持しなければならない。したがって、POSTリクエストをリダイレクトする場合には、307を使用することが推奨される。

また、301 Moved Permanentlyというステータスコードも存在する。これは、リソースが恒久的に別のURLに移動したことを意味する。301リダイレクトは、検索エンジンのインデックスにも影響を与えるため、慎重に使用する必要がある。

302リダイレクトを使用する際には、いくつかの注意点がある。まず、リダイレクトループが発生しないように注意する必要がある。リダイレクトループとは、あるURLが別のURLにリダイレクトされ、その別のURLが元のURLにリダイレクトされるというように、リダイレクトが無限に繰り返される状態のことである。リダイレクトループが発生すると、クライアントはエラーを表示し、ウェブサイトにアクセスできなくなる。

次に、SEO(検索エンジン最適化)の観点から、302リダイレクトの使用は慎重に行う必要がある。302リダイレクトは、一時的なリダイレクトであるため、検索エンジンはリダイレクト先のURLを元のURLのランキングに反映しない。したがって、恒久的なリダイレクトを行う場合には、301リダイレクトを使用する必要がある。

さらに、リダイレクト先のURLが正しく設定されていることを確認する必要がある。誤ったURLにリダイレクトすると、ユーザーは目的のページにアクセスできなくなる。

302リダイレクトは、ウェブ開発において非常に便利な機能であるが、適切な場面で使用し、注意点を守ることが重要である。307 Temporary Redirectや301 Moved Permanentlyといった他のリダイレクトステータスコードとの違いを理解し、状況に応じて最適なステータスコードを選択することが、より良いウェブサイトの構築につながる。

関連コンテンツ