🕛 2021.2.23 23:43

【初心者でもわかる】HTTP/3になると速くなるの?

HTTP/3になるとどうなるのでしょうか。通信速度が速くなるのでしょうか。

HTTP/3になるといいの?

通信効率がよくなり高速になりセキュリティが高くなります。

HTTP接続を開始する時に、堅苦しい挨拶儀礼を省いたのと通信データの送受信が失敗した時に次の通信まで待たなくなってよくなったためです。

TLS 1.3を採用し通信の開始段階で暗号化します。

接続開始までの時間が短くなる

HTTP/2ではTCPを使っているため、通信が確立するまでに3ウェイハンドシェイクを必要でしたが、HTTP/3ではTCP使用しません。

3ウェイハンドシェイクがなくなったため、クライアントとサーバーの接続開始までの時間が短くなります。

パケットロスの時間が短くなる

QUICは、パケットを送信が失敗して再送する時も、別ストリームで後続のパケットを送ることができるようになったからです。

従来は、TCPを使った通信はパケットロスが発生してパケットを再送するのを待たなければ後続のパケットが送れなかったからです。

暗号化

QUICではTLS1.3による暗号化が必要になっています。パケットだけではなくヘッダーやメタ情報も暗号化して、攻撃を受けにくくなります。

ネットワークが変わっても通信が切れない

コネクション ID を利用してセッションを維持できるからです。

例えば、外出先でスマホで動画を見ていて、Wi-fiからモバイル回線に切り替わたとしてもセッションを維持しつつ動画切れず再生されます。

HTTP/3ってなに?

HTTP/3は、WebブラウザーがWebサーバと通信する際に使用されるハイパーテキスト転送プロトコルのメジャーバージョンです。

RFC ドラフト「Hypertext Transfer Protocol(HTTP) over QUIC」をもとにHTTP3は策定されました。

HTTP/2まではTCP上で動作していましたが、HTTP/3からはUPD上で動作をすることになりました。

memo
通信プロトコルは、通信の規格・手順のことです。

QUICとは?

 QUIC (Quick UDP Internet Connections)、クイックは Google によって開発された実験的なトランスポート層プロトコルです。

QUIC は、TCPの改善を目的としていて遅延時間を削減し通信効率を上げ、セキュリティを強化しています。

TCPとは?

TCP (Transmission Control Protocol) は、インターネットにおいて標準的に利用されているプロトコルです。

トランスポート層で動作します。特徴は、通信の信頼性は高いが転送速度が遅いです。

3ハンドシェイク

3ウェイハンドシェイクは、通信開始時にTCPが3回のパケット送信を経て接続をを確立する手順です。

UDPとは?

UDP (User Datagram Protocol)もトランスポート層で動作する通信プロトコルです。

特徴は、TCPとは真逆で転送速度は速いですが通信の信頼性は低いです。

最後に

HTTP/3は、高速通信が可能なUDPで動作しQUICで通信品質とセキュリティを担保します。TCPの代わりにQUICを使うことで、遅延が大幅に減ります。

2021年2月にHTTP/3は標準化されており、Safari、Microsoft Edge、Mozilla Firefox、およびGoogle Chromeの実験バージョンは、HTTP / 3をサポートしています。

Googleのサービスでは既に「QUIC」に対応していますが、海外のレンタルサーバーにも浸透しつつあります。

国内のレンタルサーバーでは、「mixhost 」がQUICに対応をしています。

最後までお読みいただきありがとうございました!

Photo by Pattern vector created by kjpargeter – www.freepik.com

プロフィール

プログラマー歴20年の管理人がプログラミング、ブロックチェーンなどの話題に書いていきます。>>続く