Webの基本的な仕組み(11)
本日も解説して参ります。
前回からの続きで、HTTPメソッドについてと、ステータスコードという概念について取り扱います。
HTTPでは通信エラーが発生した時に、リクエストをどう処理するかというのが十うような課題です。HTTPの仕様では、プロトコルのステートレス性を保ちながら、この問題を解決するための工夫がなされています。その工夫を具体的に説明するには、べき等と安全という概念について触れる必要があります。「べき等」とは、「ある操作を何回行っても結果が同じこと」を指します。一方、「安全」とは、「操作対象のリソースの状態を変化させないこと」です。リソースの状態に変化を与えることを副作用と言いますが、安全とは「操作対象のリソースに副作用がないこと」とも言えます。
PUT及びDELETEはべき等、GET及びHEADはべき等かつ安全、POSTは安全でもべき等でもないプロトコルです。
では、上記のようなプロトコルを用いて、Web上でリクエストを出した時、それに対してのレスポンスはどう表されるのかという、「ステータスコード」についての説明に移ります。
HTTP1.1におけるステータスコードは下記5つです。
1) 1××
→ 処理が継続していることを指します。
2) 2××
→ リクエストが成功したときを指します。
3) 3××
→ 他のリソースへのリダイレクトを指します。
※ リダイレクトとは、別のURIにクライアントが自動的に再接続することを示
します。
4) 4××
→ クライアントエラーを指します。
5) 5××
→ サーバエラーを指します。原因はサーバ側にあります。
では、具体的にどういったコードがよく使われているのかを見てみましょう。
200 OK → リクエストの成功
201 Created → リソースの作成成功
301 Moved Permanently → リソースの恒久的な移動
303 See other → 別URIの参照(リクエストへの処理結果が別のURIで取得できること)
400 Bad Request → リクエストの間違い
401 Unauthorized → アクセス権不正
404 Not Found → リソースの不在(指定したリソースが見つからない)
500 Internal Senter Error → サーバ内エラー
503 Service Unavailable → サービス停止(サーバメンテナンスなどで一時的にアクセスできない)
以上、本日の解説を終わります。ありがとうございました。
また、次回以降もよろしくお願いいたします。