Webは日常生活に欠かせなくなっている。Webの用途は、Webサイトに掲載されている記事を閲覧するだけにとどまらない。メールや音楽、動画、SNS▼、ショッピングなど多岐にわたる。
このためWebに関する技術も日々進化している。そこで本特集では、Webの高速化やプライバシー保護といった最新技術を、実験も交えて分かりやすく解説する。さらに、Webの標準仕様や技術の最新動向も説明する。
まずPart1では、高速化技術について解説しよう。
HTTPはシンプル
WebブラウザーとWebサーバーはHTTP▼というプロトコルを使って通信する。HTTPはリクエスト(要求)とレスポンス(応答)で構成されるシンプルなプロトコルである(図1-1)。
Webブラウザーは、取得したいデータ(リソース)を指定したリクエストをWebサーバーに送信する。Webサーバーは、要求されたデータをレスポンスとして返す。
リクエストとレスポンスは順次実行される。このためWebブラウザーが要求するデータの数が多くなると、すべてのデータを取得するまでに時間がかかってしまう。
そこでHTTPでは、複数のリクエストを並行して処理することで高速化を実現している(図1-2)。その仕組みは、HTTPのバージョンを重ねるとともに進化している。
1996年にRFC▼として標準化されたHTTP/1では、複数のリクエストとレスポンスを並行して処理し高速化を図った。ただしリクエストとレスポンスはそれぞれ1つずつ処理する必要がある。また、リクエストがあるたびにTCP▼のセッションを張らなければならない。このため並行で処理できる数は多くなく、セッションを張るためのオーバーヘッドも大きい。
そこでHTTP/2では、パイプラインという考え方を導入している。TLS▼ 1.2のセッションを張り、その中で複数のリクエストとレスポンスを同時に処理できるようにした。セッションを張るオーバーヘッドを解消するとともに、リクエストとレスポンスを順次処理する必要もなくなった。
HTTP/2は米グーグルが開発したSPDY▼というプロトコルをベースとしており、2015年にRFCが発行された。