全1898文字

Webアクセスの新しい通信プロトコル「HTTP/3」が登場した。従来のHTTPよりもWebアクセスを劇的に効率化する。HTTP/3が登場した背景やその仕組みを解説する。

 HTTPの最新プロトコルであるHTTP/3。当初は別の名前で呼ばれていた。なぜHTTP/3になったのか。それを説明するために、まずはHTTP/3の構成を解説しよう。

 HTTP/3の特徴はTCPではなくUDPとQUICを使うことだ。

従来のHTTPとHTTP/3の構成の違い
従来のHTTPとHTTP/3の構成の違い
[画像のクリックで拡大表示]

 従来のHTTP/1.1やHTTP/2は、トランスポート層にTCPを利用するのに加え、セキュリティーはTLSが担当する。TCP/IPにTLSを追加することで安全な通信を実現していた。

 これに対し、QUICはセキュリティー機能を内蔵しており、標準で暗号通信を行う。当初は独自のセキュリティー機能を搭載していたが、TLS 1.3の登場後は、TLS 1.3の機能を取り込んで安全な通信を実現している。

2種類のQUICが存在する

 現在のQUICは実は2種類ある。グーグル版QUICとIETF版QUICだ。2種類のQUICが存在する理由は、QUICの開発と標準化の経緯にある。

QUICの開発と標準化の経緯
QUICの開発と標準化の経緯
[画像のクリックで拡大表示]

 QUICはもともとグーグルが開発した独自プロトコルだ。2012年に開発を始め、2013年に公開した。同社は、開発したQUICを自社開発のWebブラウザー「Google Chrome」や自社サービスを提供するWebサーバーに実装している。ChromeでグーグルのWebサービスを利用していれば、既にQUICで通信している可能性がある。

 ただ、グーグルにはQUICをより広めたいという狙いがあった。そこで2015年6月、標準化のためにIETFにドラフトを提出した。IETFは2016年末にQUICワーキンググループを設置し、標準化作業を始めた。今のところ2019年7月にQUICの最初の標準仕様が公開される見込みだ。グーグルは、IETF版QUICの完成後はグーグル版QUICの代わりにIETF版QUICを採用すると表明している。

 グーグル版QUICとIETF版QUICの違いは、この経緯を反映している。グーグル版QUICは、もともとグーグルが自社のWebサービスで大量のアクセスを効率良く処理するために開発したものだ。このため、Webだけを想定し、HTTP/2と同じように利用できるようになっている。

グーグル版QUICとIETF版QUICの違い
グーグル版QUICとIETF版QUICの違い
[画像のクリックで拡大表示]