HTTPレスポンス 【HTTP response】 HTTP応答
概要
HTTPレスポンス(HTTP response)とは、Webコンテンツの伝送を行うHTTP(Hypertext Transfer Protocol)で、サーバからクライアントから応答を伝えるメッセージのこと。HTTPステータスコードや要求されたファイルの内容などで構成される。HTTPはWebブラウザなどのクライアントとWebサーバの間の通信手順や送受信データ形式を規定したプロトコルで、原則としてクライアントから要求(リクエスト)を送信し、それに応えてサーバが応答(レスポンス)を返すという手順を繰り返して通信を行う。
サーバからの応答メッセージがHTTPレスポンスで、前半部分が制御情報を記したヘッダ部(HTTPレスポンスヘッダ)、後半部分がクライアントへ送信するファイルなどのデータ本体であるボディ部(HTTPレスポンスボディ)となっている。
ヘッダ部は改行区切りのテキスト(文字)形式で、先頭行(ステータス行)は「HTTP/1.1 200 OK」のように「HTTPバージョン HTTPステータスコード コードの詳細」で始める。次行からは「フィールド名: 値」という形式で一行に一つずつ要求内容の詳細を記述していく。
ステータスコードは要求に対する応答の種類を表し、3桁の数字であるコード本体と、人間が理解しやすい説明で構成される。百の位の数字で分類され、100番台が「情報」(informational)、200番台が「成功」(successful)、300番台が「リダイレクト」(redirection)、400番台が「クライアントエラー」(client error)、500番台が「サーバエラー」(server error)となっている。
通常のWeb閲覧でよく用いられるコードには、「200 OK」(正常応答)、「301 Moved Permanently」(恒久的な移動)、「302 Found」(一時的な転送)、「304 Not Modified」(前回送信から更新されていない)、「403 Forbidden」(アクセス権限がない)、「404 Not Found」(存在しない)、「500 Internal Server Error」(サーバ内エラー)、「503 Service Unavailable」(サーバ停止中)などがある。
ヘッダフィールドには、「Date:」(発信日時)、「Content-Type:」(データ本体のMIMEタイプや文字コード)、「Content-Encoding:」(データの圧縮形式)、「Content-Length:」(送信データ量)、「Set-Cookie:」(Cookieデータの送信)、「Last-Modified:」(最終更新日時)、「Server:」(サーバソフトウェアの名称やバージョン)、「Expires:」(キャッシュの有効期限)、「Location:」(リダイレクト時の転送先)などがある。