HTTPは、WebブラウザーとWebサーバー間の通信で使われるプロトコル(通信手順)のこと。Hypertext Transfer Protocolの略。

 HTTPでは、要求(リクエスト)と応答(レスポンス)を繰り返す。

HTTPによるやりとり
HTTPによるやりとり
[画像のクリックで拡大表示]

 ユーザーがWebブラウザーにURLを入力すると、WebブラウザーはそのURLのWebサーバーに「HTTPリクエスト」を送信する。これにより、表示したいWebページのデータを要求する。

 Webサーバーは、その要求を受けて「HTTPレスポンス」を送信する。要求されたWebページのデータがここに含まれる。

 データを受信したWebブラウザーは、そのデータを解釈して表示する。

 1回のHTTPレスポンスで送信されるファイルは1つ。このため複数のファイルで構成されるWebページを表示する際には、ファイルの数だけリクエストとレスポンスを繰り返す。

 現在広く使われているHTTPは、1997年1月にRFC 2068として公開されたHTTP/1.1である。当時と比べるとWebコンテンツは肥大化しているため、HTTP/1.1では高速な転送が困難になってきた。

 そこで2015年5月に、HTTPの新バージョンであるHTTP/2が公開された。

 HTTP/1.1では、1つのTCP(Transmission Control Protocol)コネクションでさばけるのは、1組のHTTPリクエストとHTTPレスポンスのみ。あるリクエストに対するレスポンスの送信が終わるまで、そのパイプを利用できない。

 これに対しHTTP/2では、複数のHTTPリクエスト/レスポンスを同時にさばける論理的なパイプをWebブラウザーとWebサーバーの間に作り、通信を高速にする。

 さらに2019年にはHTTP/3が登場する。従来のHTTPと大きく異なるのは、下位レイヤーのプロトコルにTCPを使わないこと。下位レイヤーにUDP(User Datagram Protocol)とQUICを使う。これにより、さらなる高速化を実現する。