学んだことを発信するブログ

ジャンル問わず、学んだことを発信していきます。その過程で私の提供した情報がどなたかのお役に立てればなお嬉しいです!

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 → サービス停止(サーバメンテナンスなどで一時的にアクセスできない)

 

 以上、本日の解説を終わります。ありがとうございました。

また、次回以降もよろしくお願いいたします。