HTTP

 

HTTPとは

HTTP(Hyper Text Transfer Protocol)とは、Webブラウザ(ユーザ、クライアント)とWebサーバの間で情報をやりとりするために使われる通信規則(プロトコル)の一つ。
「http://」で始まるURLへアクセスした際に情報の送受信に使われる。

HTTPメッセージの構成

WebブラウザからWebサーバへ送られるメッセージを「HTTPリクエストメッセージ」、 WebサーバからWebブラウザへ送られるメッセージを「HTTPレスポンスメッセージ」と呼ぶ。
 

HTTPリクエストメッセージの構成

HTTPリクエストメッセージは「リクエストライン」「HTTPヘッダ」「メッセージボディ」から構成される。
HTTPヘッダとメッセージボディの間には空行1行が必要。
HTTPリクエストメソッド処理命令の種類。 主なメソッドは、GET(リソースを要求)・POST(リソースを送信)・PUT(リソースを更新)・DELETE(リソースを削除)
パスアクセスするページの場所。
プロトコルバージョン利用するHTTP自身のバージョン。
HTTPヘッダ通信制御やデータ出力制御などに利用する情報。 各行は「フィールド」と呼ばれ、「フィールド名」と「フィールド値」をコロン「:」で繋いだ構成となっている。 具体的な設定値はHTTPヘッダフィールド一覧を参照。
メッセージボディリクエストの追加情報。 メッセージボディが存在しないHTTPリクエストメッセージもある。
 

HTTPレスポンスメッセージの構成

HTTPレスポンスメッセージは「ステータスライン」「HTTPヘッダ」「メッセージボディ」から構成される。
HTTPヘッダとメッセージボディの間には空行1行が必要。
プロトコルバージョン利用するHTTP自身のバージョン。
ステータスコードWebサーバがリクエストを処理した結果を示す。 ステータスコード一覧(MDN web docs)
ステータスメッセージWebサーバがリクエストを処理した結果を示す。
HTTPヘッダ通信制御やデータ出力制御などに利用する情報。 各行は「フィールド」と呼ばれ、「フィールド名」と「フィールド値」をコロン「:」で繋いだ構成となっている。 具体的な設定値はHTTPヘッダフィールド一覧を参照。
メッセージボディWebブラウザで表示する情報などのメインのリソース(コンテンツ)。

HTTPの通信フロー

HTTPの一連の通信の流れを以下に示す。
 
  1. TCPコネクションの確立(3Wayハンドシェイク) HTTP通信の前準備として、TCPプロトコルで通信経路を確立する。
  1. HTTPリクエストメッセージの送信 クライアントはWebページのデータを要求する。
  1. HTTPレスポンスメッセージの送信 サーバは要求されたWebページのデータを送信する。
  1. TCPコネクションの切断

関連情報

HTTPヘッダフィールドのまとめ2023/3/31 22:562023/4/5 3:19