为HttpClient开启HTTP/2
💡
原文中文,约2000字,阅读约需5分钟。
📝
内容提要
本文介绍了如何在.NET Core中使用HttpClient调用其他服务,并配置HttpClient以使用HTTP/2 h2连接。可以通过设置选项或直接设置来设置HTTP/2。在.NET 5.0和.NET 6.0中,HttpClient默认配置为仅打开1个到HTTP/2服务器的连接,但可以通过属性更改默认行为。此外,本文还提到了HTTP/3在.NET 6中的预览功能。
🎯
关键要点
- .NET Core中调用其他服务通常使用HttpClient,默认使用HTTP/1.1。
- 自.NET Core 3.0起,HttpClient支持HTTP/2。
- 可以通过DefaultRequestVersion和DefaultVersionPolicy选项配置HttpClient以使用HTTP/2。
- 可以直接设置HttpClient的DefaultRequestVersion和DefaultVersionPolicy属性。
- 使用Send或SendAsync方法时,需要在HttpRequestMessage实例上设置Version和VersionPolicy属性。
- .NET 5.0和.NET 6.0中,HttpClient默认仅打开1个到HTTP/2服务器的连接,最大并发流数推荐为100。
- 可以通过EnableMultipleHttp2Connections属性在.NET 5.0中启用多个HTTP/2连接。
- .NET 6中提供HTTP/3的预览功能,但可能存在行为或性能问题。
🏷️
标签
➡️