CHROMA

世の中の "当たり前" を確認する

HTTPメッセージ

HTTPメッセージは、リクエストメッセージとレスポンスメッセージに分けられますが、どちらもメッセージの内部は次のような構成になっています。

  • メッセージヘッダー
  • 空行(CR + LF)
  • メッセージボディー

それぞれのメッセージヘッダーをもう少し詳しく見てみましょう。

リクエストのメッセージヘッダーには、リクエストライン、リクエストヘッダーフィールド、一般ヘッダーフィールド、エンティティヘッダーフィールド、その他の情報を含みます。
レスポンスのメッセージヘッダーには、ステータスライン、レスポンスヘッダーフィールド、一般ヘッダーフィールド、エンティティヘッダーフィールド、その他の情報を含みます。

どちらのメッセージにも含まれているヘッダーフィールドには、リクエストやレスポンスの諸条件が書かれています。リクエストヘッダーフィールドの場合はクライアントの状態情報を示すCookieやブラウザ情報を示すUser-Agentなどが含まれており、レスポンスヘッダーフィールドの場合はオブジェクトの場所を示すLocationなどが含まれています。

ヘッダーの各情報は次のような形式で書かれます。

フィールド名: 内容

また、レスポンスメッセージに含まれているステータスラインには、リクエストの結果を知らせるステータスコードやHTTPバージョンが含まれています。
ステータスコードはおおまかに分類すると、次の4種類に分けられます。

クラス 説明
1XX Informational リクエストの処理中
2XX Success リクエストの成功
3XX Redirection リクエスト完了のために追加動作が必要
4XX Client Error クライアントエラー
5XX Server Error サーバーエラー

参考