HTTP Status #
HTTPサーバーからのレスポンスにはステータスがついていて、リクエストに対しての成功・失敗などが入っています。
成功 #
200番台は成功のレスポンスです。
200 OK #
ブラウザーからのリクエストに対して成功したことを伝えるステータスです。
204 No Content #
リクエストは成功したが、返すデータはないことを示します。例えばCORSのpreflightのOPTIONリクエストに対して204を返すことにしたりします。
リダイレクト #
300番台はリダイレクトのレスポンスです。
HTTPサーバーはリソースの場所が異なる場所にあることを、リダイレクトステータスによって通知してきます。 ブラウザは指定された場所を再度リクエストするという動作になります。
リダイレクト先のアドレスはLocationヘッダーで指定されます。
301 Moved Permanently #
ブラウザーはLocationで指定されたアドレスを再度リクエストします。ブラウザーの表示するアドレスも、指定された場所へ変わります。
302 Found #
一時的にLocationに移動したことを示すステータスです。ただしクライアントによっては、リダイレクト前のメソッドがPOSTやPUTのときに、リダイレクト先にはGETでリクエストしてくる場合があるようです。メソッドをそのまま変えずにリダイレクトするには、307リダイレクトを使います。GETに変えたいという場合は、303を使います。
303 See Other #
リダイレクト先が、別のページである場合につかうステータス。通常はPUTやPOSTメソッドを受けて、その結果を示すページへのリダイレクトに使われる。
307 Temporary Redirect #
一時的な移動の場合に使うリダイレクト。これはメソッドを変更しないリダイレクトで、もともとのリクエストがPUTやPOSTでも、そのままPUTやPOSTでリダイレクトへリクエストします。302ではGETに変えてリクエストしてくるクライアントがいるため、メソッドを変えたくないときは302より307リダイレクトにします。なおメソッドをGETに変えたいときは303リダイレクトを使います。
308 Permanent Redirect #
301と同様に、Locationへ再リクエストされます。301ではMethodがGETに変更される場合があるのに対し、308ではMethodは変更されません。307は一時的な移動であったおのに対し、308は恒久的な移動であることを示します。 そのため、GET,HEAD以外のPOSTなどに対しては308リダイレクトにしておくのが良い。
クライアントのエラー #
400番台はクライアントからのリクエストのエラーです。
401 Unauthorized #
認証されていないアクセスに対してのステータスです。
ことのきサーバーからのレスポンスヘッダに、“WWW-Authenticate: Basic"があると、ブラウザーはユーザー名とパスワードを入力する画面を表示し、Basic認証を実行しようとします。
サーバーのエラー #
500 Internal Server Error #
サーバー内での処理にエラーが発生したことを示すステータスです。
501 Not Implemented #
対応していないメソッドに対する応答です。