sgcWebSockets 4.4.3 から HTTP/2 が初期サポートされ、次期バージョンで新しい機能が追加される予定です。前回のブログ記事では HTTP 1.1 と HTTP/2 プロトコル間のパフォーマンスを比較しました。これには sgcWebSockets HTTP/2 クライアントを使用し、 imagekit.io サーバーから 100 枚の画像をダウンロードしました。
HTTP/2 クライアント

sgcWebSockets HTTP/2 クライアントを変更し、JPEG 画像をダウンロードするための接続先 URL を指定できるようにしました。現在、URL は 2 つあります。
- https://ik.imagekit.io
- https://127.0.0.1:5450
テストには 2 番目を選択しました。これは sgcWebSockets ライブラリで構築したローカルの HTTP/2 サーバーです。
HTTP/2 サーバー

sgcWebSockets ライブラリを用いた新しい HTTP/2 サーバーのサンプルを構築しました。これが両プロトコルのパフォーマンス比較に使用するサーバーです。テストするには、実行ファイルを開くだけで localhost のポート 5450 でリッスンを開始します。
HTTP 1.1 と HTTP/2 の比較
クライアントコンポーネントでテストを開始すると、HTTP 1.1 と HTTP/2 の間に大きな違いが見られます。HTTP/2 プロトコルは 100 枚の画像のダウンロードにほとんど時間がかからないのに対し、HTTP 1.1 プロトコルははるかに時間がかかります。これは毎回新しい接続を開いてダウンロードし、待機し、閉じてから再開する必要があるためです。一方、HTTP/2 は同じ接続ですべてのリクエストを処理し、それらは非同期に処理されます。

