HTTP302(Found)の意味・HTTP303、307との違いとは

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を使うべきでしょう。


イベント