HTTPレスポンスの構成

HTTPレスポンスはステータスラインとメッセージボディで構成されています。
さらに、ステータスラインは下記要素で構成されます。

  • HTTPバージョン
  • ステータスコード
  • テキストフレーズ

HTTPバージョンには「HTTP/1.0」と「HTTP/1.1」の2つのバージョンがあります。
両差の違いについては割愛しますが、HTTP/1.1の方がページ表示速度が早く、
現在は、HTTP/1.1がスタンダードです。

HTTPレスポンスの構成

ステータスコードはサーバーからクライアントに返される3桁のコードで、現在の状態(ステータス)を表します。
ステータスコードはHTTPバージョンにより差がありますが、HTTP/1.1では主に下記のような種類があります。

まず、3桁のうちの先頭の数字により下記のように分類されます。

コード 意味 内容
1xx 肯定先行 正しいコマンドを受け付けて処理中である。
2xx 肯定完了 正しいコマンドを受け付けて処理を完了した。
3xx 肯定中間 正しいコマンドを受け付けて、次に別のコマンドを要求する。
4xx 一時否定完了 謝ったコマンドを受け付けた。再送を望む。
5xx 否定完了 サーバーの状態によりコマンドを受け付けることができない。

主なステータスコードは下記になります。

ステータス 応答フレーズ 内容
200 OK 正常にリクエストを受け付けた。
202 Created 正常にリソースを作成した。
205 Not Content 正常にリクエスト受け付けたが、応答するリソースなし。
301 Movement Permanantly リソースは稼働している。
304 Not Modified リソースは更新されていない。
400 Bad Request 開始行、メッセージヘッダーの構文にミスがあり受け取れない。
401 Unauthorized リソースには認証が必要であり、認証されていない。
404 Not Found リソースは存在しない。
405 Method Not Allowed そのメソッドの実行は許可されない。
500 Internal Server Error サーバー内部のエラー。
501 Not Implemented コマンドを実行する機能が存在しない。

例えば、存在しないリソースのURLを指定した場合、ステータスコード404がWebサーバーから返されます。
また、Webアプリケーションを作成する場合、500 サーバー内部エラーとはしつこく付き合っていくことになるでしょう、