HTTPメッセージ
HTTPメッセージは、リクエストメッセージとレスポンスメッセージに分けられますが、どちらもメッセージの内部は次のような構成になっています。
- メッセージヘッダー
- 空行(CR + LF)
- メッセージボディー
それぞれのメッセージヘッダーをもう少し詳しく見てみましょう。
リクエストのメッセージヘッダーには、リクエストライン、リクエストヘッダーフィールド、一般ヘッダーフィールド、エンティティヘッダーフィールド、その他の情報を含みます。
レスポンスのメッセージヘッダーには、ステータスライン、レスポンスヘッダーフィールド、一般ヘッダーフィールド、エンティティヘッダーフィールド、その他の情報を含みます。
どちらのメッセージにも含まれているヘッダーフィールドには、リクエストやレスポンスの諸条件が書かれています。リクエストヘッダーフィールドの場合はクライアントの状態情報を示すCookieやブラウザ情報を示すUser-Agentなどが含まれており、レスポンスヘッダーフィールドの場合はオブジェクトの場所を示すLocationなどが含まれています。
ヘッダーの各情報は次のような形式で書かれます。
フィールド名: 内容
また、レスポンスメッセージに含まれているステータスラインには、リクエストの結果を知らせるステータスコードやHTTPバージョンが含まれています。
ステータスコードはおおまかに分類すると、次の4種類に分けられます。
クラス | 説明 | |
---|---|---|
1XX | Informational | リクエストの処理中 |
2XX | Success | リクエストの成功 |
3XX | Redirection | リクエスト完了のために追加動作が必要 |
4XX | Client Error | クライアントエラー |
5XX | Server Error | サーバーエラー |