読み方 : エイチティーティーピーメッセージ

HTTPメッセージ【HTTP message】

概要

HTTPメッセージとは、Web通信においてクライアントサーバの間でやり取りされるデータの基本単位。WebブラウザなどのクライアントWebサーバが要求や応答の内容を伝えるために用いるデータ形式で、伝送プロトコルHTTPを通じて送受信される。

HTTPメッセージは、Webブラウザなどのクライアントサーバに処理を要求する「HTTPリクエスト」と、Webサーバがその結果を返す「HTTPレスポンス」の二種類に大別される。例えば、利用者がWebページのURLを入力すると、ブラウザサーバに対してリクエストを送信し、サーバは要求されたHTML文書や画像などのデータレスポンスとして返す。このような一連のやり取りによってWebページの表示が実現される。

HTTPメッセージの構造

HTTPメッセージは原則としてテキスト形式で記述され、主に三つの部分で構成される。最初の行には要求の種類や応答の結果を示す開始行(スタートライン)があり、続いて、通信条件やデータの種類などを示すヘッダフィールドが並ぶ。その後、空行をはさんで必要に応じて本文(メッセージボディ)が付加され、HTML文書JSONデータ、画像データなどの実際の伝送内容が格納される。

スタートライン

メッセージ冒頭の1行(最初の改行コードまで)であるスタートラインは、相手方に要件を簡潔に伝える行である。リクエストレスポンスで記載内容が異なり、リクエストでは「GET /index.html HTTP/1.1」のように、HTTPメソッド(GETやPOSTなど)、リクエストURLHTTPバージョンが記載される。レスポンスでは「HTTP/1.1 200 OK」のように、HTTPバージョンステータスコード(200や404など)、理由フレーズ(OKやNot Foundなど)が記載される。

HTTPヘッダ

ヘッダ領域には、メッセージについての制御情報(メタ情報)を、「Content-Type: text/html」といったように項目名(キー)と値のペアとして列挙する。コンテンツの種類を示す「Content-Type:」、データのサイズを示す「Content-Length:」、キャッシュの制御を指示する「Cache-Control:」、認証情報を示す「Authorization:」など、様々な情報をヘッダフィールドとして付加できる。ヘッダの後には必ず空行が置かれ、これがヘッダ部とボディ部の区切りとして機能する。

HTTPボディ

ボディ部はメッセージの本文にあたる部分であり、実際に送受信されるデータが格納される。リクエストの場合、フォームの入力値やJSONデータアップロードするファイルなど、クライアントからサーバPOSTメソッドなどで送る内容が記載される。GETメソッドのようにボディを持たないメッセージも存在する。レスポンスの場合はサーバクライアントに提供する実際の内容、すなわち、HTMLソースコード、画像データAPI返却値などが格納される。

バージョンによる違い

HTTP/1.1まではHTTPメッセージはテキスト形式で記述されており、人間が直接読み書きできる構造になっている。HTTP/2以降では伝送時にバイナリ形式に変換され、ヘッダ部ヘッダ圧縮(HPACK/QPACK)が行われるが、メッセージの論理構造や記述形式は引き継がれており、開発ツールなどでは従来のテキスト形式に変換して表示される。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。