【Rust日报】2026-01-01 reqwest 发布 v0.13:默认开启 rustls

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

reqwest v0.13 发布,默认集成 rustls,简化 Rust 网络编程。更新包括减少编译依赖、增强内存安全和 HTTP/3 支持。迁移时可选择继续使用 native-tls 或直接升级。Rust 生态中,tonic 成为 gRPC 标准,性能优越且易用。

🎯

关键要点

  • reqwest v0.13 发布,默认集成 rustls,简化 Rust 网络编程。
  • TLS 后端转向 rustls,减少编译依赖,增强内存安全。
  • reqwest v0.13 正式支持 http crate 1.0,减少兼容性问题。
  • HTTP/3 支持增强,底层使用 h3 库提升连接性能和稳定性。
  • Wasm 支持持续改进,性能优化降低 CPU 和内存开销。
  • API 调整,移除旧的、不推荐使用的 API。
  • 迁移时可选择继续使用 native-tls 或直接升级。
  • tonic 成为 Rust 生态中的 gRPC 标准,性能优越且易用。
  • tonic 基于 hyper、prost 和 tokio,纯 Rust 实现,性能与安全性优越。
  • 通过 tonic-build,开发者可方便地从 .proto 文件生成代码。

延伸问答

reqwest v0.13 的主要更新内容是什么?

reqwest v0.13 默认集成 rustls,简化 Rust 网络编程,减少编译依赖,增强内存安全,并支持 HTTP/3。

为什么 reqwest 选择将 TLS 后端转向 rustls?

因为 rustls 是纯 Rust 实现,减少了编译依赖,提供跨平台一致性和内存安全,且更易于交叉编译。

如何从旧版本迁移到 reqwest v0.13?

可以选择在 Cargo.toml 中显式关闭默认功能并启用 native-tls,或直接将版本号改为 0.13 进行升级。

reqwest v0.13 对 HTTP/3 的支持如何?

HTTP/3 在 v0.13 中得到了显著改进,底层使用 h3 库,提升了连接性能和稳定性。

tonic 在 Rust 生态中的地位如何?

tonic 已成为 Rust 生态中的 gRPC 标准,性能优越且易用,基于 hyper、prost 和 tokio 纯 Rust 实现。

reqwest v0.13 的 Wasm 支持有什么改进?

持续改进对 WebAssembly 的支持,使其在浏览器环境下的表现更接近原生环境。

➡️

继续阅读