自 sgcWebSockets 4.4.3 起,HTTP/2 得到了初步支持,后续版本将持续添加新功能。在此前的博客文章中,我们对比了 HTTP 1.1 与 HTTP/2 协议的性能。测试中使用了 sgcWebSockets HTTP/2 客户端,从 imagekit.io 服务器下载了 100 张图片。
HTTP/2 Client

sgcWebSockets HTTP/2 客户端已进行修改,支持指定下载 JPEG 图片的 URL。现在提供两个 URL 选项:
- https://ik.imagekit.io
- https://127.0.0.1:5450
我选择第二个进行测试,这是一个使用 sgcWebSockets 库构建的本地 HTTP/2 服务器。
HTTP/2 Server

我们使用 sgcWebSockets 库构建了一个新的 HTTP/2 服务器示例,将以此作为对比两种协议性能的服务器。测试时只需打开可执行文件,服务器即会开始监听 5450 端口及 localhost。
HTTP 1.1 vs HTTP/2
启动客户端组件测试后,您将看到 HTTP 1.1 与 HTTP/2 之间的巨大差异。HTTP/2 协议几乎瞬间完成 100 张图片的下载,而 HTTP 1.1 协议则耗时更多,因为每次都必须建立新连接、下载、等待、关闭,再重新开始;而 HTTP/2 使用同一连接处理所有请求,且这些请求是异步处理的。

