HTTP/3

HTTP/3は、HTTP/2|HTTP_2の次世代プロトコルとして、Webの高速化と信頼性向上を目指して開発されました。従来のHTTP/1.1やHTTP/2|HTTP_2とは異なり、伝送層にQUIC(Quick UDP Internet Connections)プロトコルを使用している点が最大の特徴です。

QUICプロトコルの採用


QUICは、Googleによって開発された実験的なトランスポート層プロトコルで、TCPよりも高速なデータ転送が可能です。UDPをベースにしながらも、TCPの持つ信頼性や輻輳制御の機能も実現しています。このQUICをベースとすることで、HTTP/3はTCPの持つ様々な課題を克服し、高速な通信を実現しています。

HTTP/3の標準化


HTTP/3は、当初は「HTTP-over-QUIC」という名前で開発が進められていましたが、2018年10月にIETFのワーキンググループによって「HTTP/3」に正式に改名されました。これにより、HTTPセマンティクスのワイヤープロトコルに対する新たなバインディングであることが明確化され、QUICとの区別が容易になりました。また、開発がQUICワーキンググループからHTTPワーキンググループに移管されることで、HTTPプロトコルとしての標準化が進められました。

2019年9月には、CloudflareやGoogle Chromeなどの主要なプラットフォームでHTTP/3のサポートが開始され、実用化が加速しました。そして、2022年6月6日にはRFC 9114として正式に標準化され、広く利用される基盤が整いました。

HTTP/3の利点


HTTP/3の主な利点は以下の通りです。

高速な接続確立: QUICはTCPに比べて接続確立が高速です。これにより、WebサイトへのアクセスやAPI通信時の遅延が低減されます。
パケットロスに強い: QUICはUDPをベースにしているため、パケットロスが発生した場合でも、TCPのようにストリーム全体が停止することはありません。必要なパケットのみを再送するため、通信が途切れにくくなります。
ヘッドオブラインブロッキングの解消: HTTP/2|HTTP_2では、単一のTCPコネクション内で複数のストリームが多重化されていますが、パケットロスが発生すると、一つのストリームがブロックされると他のストリームも影響を受ける「ヘッドオブラインブロッキング」という問題がありました。QUICでは、この問題を解消し、より効率的なデータ転送を実現しています。
コネクションマイグレーション: TCPでは、ネットワーク環境が変わると接続が途絶えてしまうことがありますが、QUICはコネクションをIDで管理することで、接続が途切れても自動的に再接続する機能があります。これにより、モバイル環境などネットワーク状況が変化しやすい環境でも安定した通信が可能です。

HTTP/3の現状と今後


HTTP/3は、まだ完全に普及しているとは言えませんが、主要なブラウザやWebサービスでの採用が進んでいます。Webサイトの高速化や信頼性向上に大きく貢献すると期待されており、今後ますます普及していくと考えられます。

参考文献


RFC 9114
詳解 HTTP/3
ブラウザがHTTP/3をサポートしているかチェックするサイト
指定したサイトがHTTP/3をサポートしているかチェックするサイト

関連項目


HTTP/2|HTTP_2
UDP
* TCP

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。