主要观点:
- 介绍 curl 中 HTTP/3 支持的现状,包括支持的四种替代方案、未使用 HTTP/3 的原因、所需的 HTTP/3 后端组件等。
- 比较不同 HTTP/3 后端在 curl 中的性能,如 ngtcp2 + nghttp3 表现较好,OpenSSL QUIC 性能相对较差。
- 强调 HTTP/3 在 CPU 受限情况下传输性能较慢,但握手通常更快。
- 提及 HTTP/3 的部署情况,约 28 - 30%的网络流量为 HTTP/3 ,但仍有部分浏览器流量未使用。
关键信息:
- curl 支持四种 HTTP/3 解决方案,通过不同途径启用。
- 构建 curl 自身时使用合适的第三方库可启用 HTTP/3 ,curl for windows 二进制文件也支持。
- HTTP/3 需 TLS 1.3 支持、QUIC 协议库和 HTTP/3 协议库三个组件。
- ngtcp2 + nghttp3 是推荐的解决方案,OpenSSL QUIC 存在 API 问题导致性能较慢。
- HTTP/3 在 CPU 受限下传输慢但握手快,不同 HTTP 版本在不同情况下的性能表现各异。
- w3techs 等数据显示约 28 - 30%的网络流量为 HTTP/3 。
重要细节:
- 不同 HTTP/3 后端在 curl 中的具体情况,如 quiche 用 BoringSSL ,msh3 情况及 nghttp3 可使用多种 TLS 库。
- OpenSSL QUIC 在 API 功能上的缺失及对性能的影响。
- 不同测试中 HTTP/3 与其他版本在握手和吞吐量性能上的对比情况。
- HTTP/3 部署中各大玩家和 CDN 已运行 HTTP/3 但仍有部分浏览器流量未使用的现象。
- HTTPS 堆栈的工作原理图示。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。