HTTP3.0とは何か?何が変わる?
公開日:2020年10月1日
HTTP3.0とは何か?何がどうやって変わるのかをまとめました。普及までにやっておきたい対応方法なども。
HTTPのバージョン
まず最初にHTTPのバージョンを確認しましょう。
- HTTP1.0/1.1
- HTTP2.0
- HTTP3.0 -> NEW!
現在大まかにこの3つの規格があります。
どの方式でサーバーとやりとりするかは、ブラウザとサーバーのスペックに依存します。
現行のブラウザは基本的にHTTP2.0に対応していますが、一部の共有レンタルサーバーなどは、古いHTTP1.0/1.1のままのものがあり、そうしたサーバーは並列アップロード(ブラウザから見たらダウンロード)ができないため、ページの表示が遅くなります。
バージョン | プロトコル | 主な特徴 | |
---|---|---|---|
0.9 | TCP | GETリクエストしかできない | |
1.0 | TCP | POSTやHEADメソッドが利用に | |
1.1 | TCP | OPTION・TRACE・CONNECTメソッド、バーチャルホストが利用に | |
2.0 | TCP | 並列ファイル受信が可能に | |
3.0 | UDP | 並列パケット受信が可能に |
HTTP3.0で変わること
通信方式が変わる
VPSなどで自分でポートを設定するとわかることですが、これまでのHTTPは基本的にTCPという通信ルールを使っていました。しかし、HTTP3.0からはUDPという方式に変更されます。
UDPはTCPに比べて通信の信頼性がないものの高速に転送できることが特徴です。
データの受信方式が変わる
HTTPは、単ファイル受け取りだった1.0/1.1から、2.0で並列受け取りが可能になり、一気に高速表示が可能になりました。HTTP3.0ではさらに高速化させるべく「並列パケット受信」が実装されます。
これまでは、ファイル受信する際は、1000バイトぐらいの細切れファイル(パケット)を順番に受信していました。この方式だと一部パケットに欠落(パケットロス)があった場合、再送されたパケットが到着するまで後続の処理が止まってしまうことがありました。
HTTP3ではこの欠点をカバーしていて、再送中でも並列して他のパケットを受信することが可能になります。
HTTP3.0に向けてやっておきたいこと
ポート設定の見直し
レンタルサーバーなどの場合は、ホスティングサービス側が設定するので問題ありませんが、VPSなどで自分で設定している場合は、これまで開けていたTCPの80番(HTTP)、TCPの443番(HTTPS)に加えて、UDPの80番と443番も開ける必要があります。
ただし、2020年時点では、主なWebサーバーであるApacheとNginxがHTTP3.0に対応していないためすぐに対応した方が良いというものではありません。
端末側のアップデート情報の収集
HTTP2.0の時もそうですが、情報が出てきたくらいの時はまだまだ普及していませんが、ブラウザシェアの大きいベンダー(Google Chrome、Apple Safari)などが対応すると、一気に対応端末が増えて普及していきます。
受け取る端末側でHTTP3.0が普及したタイミングが、サーバーのHTTP3.0化のタイミングとも言えるので、端末側のアップデート情報の収集はこまめにしておきましょう。