HTTPステータスコードにおいて300番台は、サイトの移転に関するコードを表しています。
今回は、その中の1つであるHTTP302(Found)について説明していきます。また、似た様なコードであるHTTP303、307との違いも確認していきましょう。
HTTP302(Found)の意味
HTTP(Found)は、Moved Temporarilyとも呼ばれている、「一時的な移転」を表すコードです。
「一時的な移転」を表すコードなので、旧アドレスはそのままインデックスに残ります。また、新アドレスのページに評価が引き継がれないデメリットもあります。そのためか、現在ではあまり使われないコードです。
HTTP303とHTTP307
そんなHTTP302に代わって、HTTP303、307が登場しました。HTTP303は「See Other(他を参照する)」、HTTP307は「Temporary Redirect(一時的なリダイレクトを行う)」という意味です。
HTTP302との違い
そのため、HTTP302と非常に似通ってはいますが、HTTP303は、HTTP302の規格外な使用にも対応しています。指定のアドレスへのリクエストに対するレスポンスが、違うアドレスにある場合に、そちらで習得させるために使われているコードです。この時、HTTPメソッドPOSTで処理をしたら、GETで取得する必要があります。
HTTP307も、意味合いとしてはHTTP302とほぼ同じですが、HTTP307の場合はPOSTで処理した場合、POSTで取得する必要があります。これは、303で行うような取得方法が横行していた302に対して、レスポンスに用いるメソッドを固定するために定義されました。
まとめ
どれも「一時的な移転」を表すコードですが、メソッドの違いがそれぞれあり、HTTP303と307は302よりさらに使い方が明確化されています。
HTTP302は一部ではもう使われないコードともされているので、これからWebページを作成する場合はHTTP303か307を使うべきでしょう。