主要观点:OpenSSL 曾拒绝提供 QUIC API,后实现并发布自己的 QUIC 栈和 API,curl 一直致力于使用 OpenSSL-QUIC 作为 QUIC 后端,但认为其仍为实验性的,且 API 与其他实现不同,ngtcp2 是独立于 TLS 库的通用 QUIC 栈,curl 支持多种 QUIC 后端,新的 OpenSSL API 可能影响 HTTP/3 采用,但 ngtcp2 开发者表示暂不计划适配,目前该 API 合并不久,预计 4 月发布后才可能被广泛使用,2 月 26 日 OpenSSL 更新提供了 0-RTT 支持且将随 3.5 版本发布。
关键信息:
- OpenSSL 长期拒绝提供 QUIC API,后实现并发布自己的栈和 API,自 2023 年 11 月起可用。
- curl 能使用 OpenSSL-QUIC 作为后端,曾报告其 API 缺陷并与 OpenSSL 团队合作改进。
- 其他 QUIC 栈实施处于 beta 状态,OpenSSL 较快进入可用于生产的阶段。
- 目前 curl 使用 OpenSSL-QUIC 实现的后端被视为实验性的,性能和资源消耗较大。
- OpenSSL 最终合并的 API 与多年前提议的不同,且不支持早期数据。
- ngtcp2 是独立于 TLS 库的通用 QUIC 栈,curl 支持且不被视为实验性的。
- 假设 API 可行且 ngtcp2 能良好使用,新的 OpenSSL 态度可能促进 HTTP/3 采用,但 ngtcp2 开发者暂不计划适配。
- curl 目前有四个 QUIC 后端,其中 ngtcp2 被推荐,新 API 待在 OpenSSL 4 月发布的版本中使用。
- 2 月 26 日 OpenSSL 更新提供了 0-RTT 支持将随 3.5 版本发布。
重要细节:
- OpenSSL 团队称 API 基于内部使用方式以干净方式插入 QUIC 客户端和服务器实现,虽收到其他 QUIC 栈反馈但需实际使用验证。
- ngtcp2 可与多种 TLS 库配合,如 BoringSSL、AWS-LC 等。
- 文中提到 OpenSSL 称与四位 QUIC 栈作者交流且他们计划支持新 API,但未提及具体栈。
- 文中通过图表展示了 curl 的 QUIC 栈情况,包括各后端的状态和新 API 的位置。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。