成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET 6 中的 HTTP/3 支持

開發 后端
.NET 開發團隊表示,HTTP/3 的 RFC 還沒有最終確定,但他們還是將 HTTP/3 引入到了 .NET 6 中,方便用戶開始進行試驗,但這只是 .NET 6 的預覽功能——因為它不符合 .NET 6 其余部分的質量標準。因此需要與其他服務器和客戶端進行更廣泛的測試以確保兼容性,尤其是在邊界情況下。

根據官方博客的介紹,.NET 6 提供了對 HTTP/3 的預覽支持,主要包括以下場景:

  • 在 Kestrel、HTTP.Sys 和 IIS 中,用于 ASP.NET 服務器
  • 在 HttpClient 中發送 outbound 請求
  • 面向 gRPC

.NET 開發團隊表示,HTTP/3 的 RFC 還沒有最終確定,但他們還是將 HTTP/3 引入到了 .NET 6 中,方便用戶開始進行試驗,但這只是 .NET 6 的預覽功能——因為它不符合 .NET 6 其余部分的質量標準。因此需要與其他服務器和客戶端進行更廣泛的測試以確保兼容性,尤其是在邊界情況下。

[[425255]]

試用 HTTP/3

如需使用 HTTP/3,需安裝 MSQuic 及其 TLS 依賴項。

目前只支持 Windows 和 Linux,.NET 6 暫不支持 macOS 上的 HTTP/3,主要是因為缺少與 QUIC 兼容的 TLS API。.NET 團隊認為,由于 .NET 在 macOS 上使用 SecureTransport 來實現其 TLS 實現,它尚未包含支持 QUIC 握手的 TLS API。雖然可以使用 OpenSSL,但他們認為最好不要引入未與操作系統的證書管理集成的附加依賴項。

示例

使用 HTTP/3 的 gRPC

gRPC 是一種使用 protobuf 序列化格式的 RPC 機制。gRPC 通常使用 HTTP/2 作為其傳輸。HTTP/3 使用了相同的語義,因此幾乎不需要更改即可使其工作。gRPC over HTTP/3 由 .NET 團隊提出,目前還不是一個標準。

ASP.NET Server 

  1. var builder = WebApplication.CreateBuilder(args); 
  2.  
  3. // Add services to the container. 
  4. builder.Services.AddGrpc(); 
  5. builder.WebHost.ConfigureKestrel((context, options) => 
  6.   options.Listen(IPAddress.Any, 5001, listenOptions => 
  7.   { 
  8.     listenOptions.Protocols = HttpProtocols.Http3; 
  9.     listenOptions.UseHttps(); 
  10.   }); 
  11. }); 
  12. var app = builder.Build(); 
  13.  
  14. // Configure the HTTP request pipeline. 
  15. if (app.Environment.IsDevelopment()) 
  16. app.UseDeveloperExceptionPage(); 
  17.  
  18. app.MapGrpcService<GreeterService>(); 
  19. app.MapGet("/", () => "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909"); 
  20.  
  21. app.Run(); 

Client 

  1. using Grpc.Net.Client; 
  2. using GrpcService1; 
  3. using System.Net; 
  4.  
  5. var httpClient = new HttpClient(); 
  6. httpClient.DefaultRequestVersion = HttpVersion.Version30; 
  7. httpClient.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionExact; 
  8.  
  9. var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions() { HttpClient = httpClient }); 
  10. var client = new Greeter.GreeterClient(channel); 
  11.  
  12. var response = await client.SayHelloAsync( 
  13. new HelloRequest { Name = "World" }); 
  14.  
  15. Console.WriteLine(response.Message); 

詳情查看官方博客

本站新聞禁止未經授權轉載,違者依法追究相關法律責任。授權請聯系:oscbianji#oschina.cn

本文標題:.NET 6 中的 HTTP/3 支持

本文地址:https://www.oschina.net/news/161364/http-3-support-in-dotnet-6

 

責任編輯:未麗燕 來源: 開源中國
相關推薦

2023-01-27 23:11:25

GolangNetHttp

2009-07-23 16:20:48

HTTP協議ASP.NET

2024-03-25 03:00:00

.NET 6await編程

2009-07-28 15:29:03

實現HTTP請求ASP.NET

2021-09-08 05:00:38

.NET

2021-04-19 10:05:37

MozillaHTTPWeb服務器

2020-12-04 09:30:18

HTTPWeb前端

2021-01-21 10:21:11

NginxHTTP 3.0Linux

2022-06-21 10:10:14

HTTP協議TCP

2024-07-02 08:45:08

2022-07-13 14:12:41

HTTP/3前端

2010-10-20 09:05:16

ASP.NET MVC

2010-12-07 09:38:15

ASP.NET MVC

2011-04-14 09:19:22

ASP.NET MVC

2019-11-17 22:47:53

HTTP23

2011-07-08 09:35:36

IPv6操作系統路由器

2020-08-26 07:50:01

HTTP 3網絡協議HTTP

2020-03-08 21:22:03

HTTP112

2024-02-02 09:28:21

FrankenPHP應用

2017-08-31 15:20:03

PythonPython3HTTP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品小短片 | 国产精品国产馆在线真实露脸 | 午夜伊人 | 中文字幕亚洲一区二区va在线 | 综合久久99 | 日本精品网站 | 奇米影视在线 | 午夜亚洲 | 亚洲国产视频一区二区 | 亚洲视频一区二区三区 | 国产成人精品免费 | 超碰在线97国产 | 亚洲精品久久久一区二区三区 | 日韩欧美在线观看 | 美女人人操| 久久久999国产精品 中文字幕在线精品 | 玖玖国产精品视频 | 99久久精品一区二区毛片吞精 | 日韩中文字幕 | 超碰导航 | 日韩中文在线观看 | 国产www在线 | 国产精品成人一区 | 中文字幕成人 | 亚洲三区在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 91精品久久| 欧美aaa级| 亚洲国产免费 | 福利片一区二区 | 国产一区二区精 | 中文字幕一区二区三区四区五区 | 久久精品视频网站 | 欧美www在线 | 中文字幕视频网 | 免费观看a级毛片在线播放 黄网站免费入口 | 激情久久av一区av二区av三区 | 成人午夜在线观看 | 一级毛片免费看 | 欧美日韩国产中文 | 一区二区国产精品 |