ステータスコード302と303の違い
今日ステータスコード200と302の説明を少し受けたので補足。
wikiより、http://ja.wikipedia.org/wiki/HTTPステータスコード
302 Found
発見した。リクエストしたリソースが一時的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。 元々はMoved Temporarily(一時的に移動した)で、本来はリクエストしたリソースが一時的にそのURLに存在せず、別のURLにある場合に使用するステータスコードであった。しかし、例えば掲示板やWikiなどで投稿後にブラウザを他のURLに転送したいときにもこのコードが使用されるようになったため、302はFoundになり、新たに303,307が作成された。
303 See Other
他を参照せよ。リクエストに対するレスポンスが他のURLに存在するときに返される。Location:ヘッダに移動先のURLが示されている。 リクエストしたリソースは確かにそのURLにあるが、他のリソースをもってレスポンスとするような場合に使用する。302の説明で挙げたような、掲示板やWikiなどで投稿後にブラウザを他のURLに転送したいときに使われるべきコードとして導入された。
ん?リダイレクトは302は使っていて・・あれ?302と303の使い分けがわからない。
ってことで調べてみた
簡単に302と303の違いについて
http://www.onflow.jp/cyano/archives/161
お、書いてありました
GET動詞(aタグのリンクをクリックしたときなどですね)でリクエストされたリソースのURIが一時的に変更になった場合は、『302 Found』か『307 Temporary Redirect』を返すと良いそうです。『302 Moved Temporarily』が返された場合、リクエストに使った動詞(GETとかPOSTとか)を変更してはいけないがルールだそうです。
うーん。これ大事なのか・・どっちでもいい気が