HTTP/2 サーバーの初期サポート

· コンポーネント

sgcWebSockets 4.4.3 から、TsgcWebSocketHTTPServer で HTTP/2 プロトコルが初期サポートされました(まだベータ版です)。高速な HTTP.SYS ベースのサーバーは、次期バージョンで HTTP/2 のサポートが追加される予定です。

デフォルトでは HTTP/2 サポートは無効になっていますので、テストの前に有効化する必要があります。 HTTP2Options という新しいプロパティが追加されました。HTTP2Options.Enabled = true に設定することで HTTP/2 プロトコルを有効化できます。

パフォーマンス比較

HTTP 1.1 と HTTP/2 プロトコル間で非常にシンプルなパフォーマンス比較を行ってみましょう。ServerChat デモサンプルを使用してメインページにアクセスします。Chrome 開発者ツールを使い、両プロトコルの所要時間を比較します。

HTTP 1.1 

メインドキュメントは 36 ms かかり、413 ms で完了します。 

HTTP/2 プロトコル 

メインドキュメントは 4 ms かかり、257 ms で完了します。 

そして勝者は……

HTTP/2 です!!!

もちろん、これは非常に基本的で結論的とはいえないテストですが、単一の接続で 8 つのドキュメントをダウンロードする(HTTP/2)方が、複数の接続を使用する(HTTP 1.1)よりもはるかに高速であることがわかります。