HTTP/3とは?Webサイトの表示を高速化する理由と注意点を解説

  • このエントリーをはてなブックマークに追加
  • LINEで送る

生活の一部としてWebの利用が当たり前の時代になり、Webサイトも日々進化をしています。昨今のWebサイトでは、画像や動画など多種多様なコンテンツによりページの表示速度が遅くなるケースも少なくありません。

そして、ページ表示速度の遅延が原因によるビジネスの機会損失も企業にとって大きな課題となります。

本記事では、Webサイトの表示を高速化させる技術として注目される「HTTP/3」の概要やその特徴、メリット、注意点等をわかりやすく解説していきます。

HTTP/3の基礎

HTTP/3とは?

そもそもHTTPとは、「Hyper Text Transfer Protocol」の略で、「通信規格」や「通信プロトコル」と訳されます。あまり意識することは少ないかもしれませんが、ネットサーフィンしているとき、HTTPの通信規格=ルールに沿ってWebサーバーとWebブラウザの間で情報のやり取りが行われています。そのルールのことを通信規格や通信プロトコルと呼んでいます。

通信規格には約30年もの歴史があります。HTTP/0.9が初期バージョンとして1991年に誕生し、1997年にHTTP/1.1が標準化されました。その後、2015年にHTTP/2、2018年にHTTP/3と時代と共にアップグレードされてきました。

HTTP/1.1では、HTTPパイプラインという方法により複数のリクエストを行うことができましたが、サーバ側の対応が複雑になることもあり実際には利用されていませんでした。HTTP/2では、リクエストの多重化を独自のストリームに関連づけることで並列にリクエストを行うことができるようになり、その結果、高画質な画像や動画など重めのファイルが多いサイトであっても高速に表示できるようになりました。

そしてHTTP/3は、さらにWebサイトの表示速度を高速化するために新たに「QUIC」という技術を導入しています。これによって通信状況を確認するための手続きを高速化することに成功しました。QUICの重要性や特徴については、後ほど詳しく説明します。

TCPとUDPの違い

HTTP/3を詳しく知るうえで、TCPとUDPについて押さえておく必要があります。TCPはTransmission Control Protocolの略、UDPはUser Datagram Protocolの略で、どちらもプロトコル、つまり通信規格ですが、先に述べたHTTPと TCP/UDPでは、提供されるレイヤーが異なります。HTTPはアプリケーション層、TCPならびにUDPはトランスポート層での通信規格を指しています。

HTTP/2で利用されているTCPはコネクション型で3-Way ハンドシェイクと呼ばれる方法で通信を行います。データを受け取る相手がいることを確認した上で、1つずつ順にデータの送信を行なうことがTCPの特徴と言えます。確実に相手へデータの送信が行えるため、セキュリティー面で信頼度が高いデータのやりとりができる点がメリットですが、接続のためのネゴシエーションにより通信速度は遅くなります。

その一方で、HTTP/3で利用されるUDPはコネクションレス型で、パケットの到達保証がないのが特徴です。通信相手の状況を確認せずにデータを送信することができるため、より高速にデータの送信が可能ですが、セキュリティー面ではTCPより劣ります。動画や音楽のストリーミングなどに有効とされています。

QUICとは?高速化を実現するQUICの特徴

QUICはQuick UDP Internet Connectionsの略で、Google社が開発したWebを高速化させる通信規格の1つです。QUICは、トランスポート層で利用される通信規格をTCPではなく、UDPを使用することで高速な通信を実現しています。

またQUICは、高速性だけではなく安全性も確保するために、より確実なデータ通信を行うことができるTCPの要素が盛り込まれています。具体的には、QUICのサーバ側ではTLS1.3が標準搭載され、暗号化通信を前提にすることで安全性も担保しているのが特徴であり、強みと言えます。

その他にも、QUICにはスマートフォンなどで移動する場合のネットワークの移行をコネクションIDを用いることにより維持し続けることができます。但し、意図せずに変更される場合には対応が難しいです。

HTTP/3高速化の理由と注意点

HTTP/3高速化の理由

HTTP/3高速化の理由には、「接続確立時のハンドシェイク数の減少」「ヘッドオブラインブロッキングの解消」「優先度制御の再設計」が挙げられます。

まずハンドシェイクとは、通信の接続を確立するためにサーバーとWebブラウザの間で行われる一連の処理のことです。TCPでは、3-Way ハンドシェイクと言われるように通信を確立するために1往復半ハンドシェイクを行う必要がありました。しかし、QUICの技術では1-RTT ハンドシェイク、すなわち1往復のみで通信を確立できるのです。

次に、ヘッドオブラインブロッキングの解消が挙げられます。ヘッドオブラインブロッキングとは、TCPやHTTP/2を利用する場合、パケットロスが発生した場合、再送処理が行われますが、再送処理が完了するまでデータを結合できないことを指します。その一方で、QUICすなわちUDPを使う際は、パケットロスが発生し、パケットを再送する場合でも最短で0-RTTハンドシェイクでパケットが受け取れたり、ロスパケットを受け取らずにデータを処理することもできるため高速化に繋がります。

優先度制御はパケットに優先度をつけて送信することです。HTTP/2では優先度制御にムラがありましたが、QUICの機能によって優先度制御を明確にし、ムラをなくしました。たとえば、ファーストビューの画像は先に表示して、他の画像は追って順番に表示することでユーザーの動きに合わせてスムーズにデータを表示していくことが可能になりました。

これらの機能によってHTTP/3は高速化されています。

HTTP/3が不要なケース

Webサイトの高速化を実現するためにHTTP/3を導入したいと考えていても、通信が思うように高速化されないケースもあるため注意が必要です。具体的なシチュエーションとしては、以下のような場合が挙げられます。

  • 外部のリソースファイルが少ない
  • サーバーの遅延時間が少ない
  • ネットワークが高品質

このような場合はすでに現状の技術で高速処理が実現されていて、それ以上通信を高速化するのは難しい場合もあります。

HTTP/3を利用する際の注意点

HTTP/3を利用する際は、以下2点に注意が必要です。

  • UDP 443 番ポートの確認
  • コンテンツの常時SSL化

ポートとは、データを届ける先の場所を指しています。HTTP/2では、TCP80番とTCP443番が利用されていましたが、HTTP/3では、UDP443番を利用する必要があります。UDP443番ポートが閉じているとHTTP/3を導入できないので注意が必要です。

また、QUICではTLS1.3が利用されていることから、暗号化通信(SSL証明書の利用)を前提としています。よってコンテンツの常時SSL化が必要となります。セキュリティ対策の面からも暗号化通信は企業やユーザーにとってメリットの多いものですが、まだ未対応の場合は、この機会に対応を検討するのも良いかもしれません。

まとめ

今回ご紹介したHTTP/3は通信、Webサイトの表示速度を高速化する仕組みです。高画質の画像や動画、3D画像などを活用するECサイトなどが広がる中、ビジネスの大きな機会損失にも繋がるのがWebサイトの表示速度遅延でもあります。

Webサイトの表示速度に課題を感じる場合は、HTTP/3の導入を検討してみてはいかがでしょうか?ただし、全てのサイトにHTTP/3がお勧めとは限らないため、自社のサイトがHTTP/3により高速化することができるかどうかは慎重に検討する必要があるでしょう。