asp.net core 6 新特性,支持HTTP/3 端点发布

???? 序言

Http3 协议构建在UDP的基础上,是的,就这么神奇,以前被誉为不稳定大神的UDP,现在承担起可靠通讯协议的底层协议。为了消除UDP的不确定性,在UDP协议之上,新增了QUIC协议。

使用QUIC协议代替TCP协议中关于可靠、流量控制的部分,因此使得HTTP3可以可靠的进行通讯传输。

在.net 6预览版的asp.net core 上,微软添加了对 HTTP/3 的支持,这为 Web 带来了很多改进。HTTP3 带来了更快的连接设置以及在低质量网络上的改进性能。

从中我们也能看出微软对.net 6给予的厚望。

Microsoft 现在添加了对 HTTP/3 的支持以及为 HTTP/3 配置 TLS (https) 的支持。

???? 1. HTTP/3  TLS 配置

让我们看看如何使用以下命令在小型 MVC 应用程序中配置 HTTP/3:

dotnet new mvc -o Http3Tls -n Http3Tls
cd Http3Tls
code .

 此命令创建一个 MVC 应用程序,切换到项目文件夹并打开 VSCode。我们需要在Program.cs中配置 HTTP/3,就如下面代码所示:



public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }


    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder
                    .ConfigureKestrel((context, options) =>
                    {
                        options.EnableAltSvc = true;
                        options.Listen(IPAddress.Any, 5001, listenOptions =>
                        {
              // Enables HTTP/3
                            listenOptions.Protocols = HttpProtocols.Http3;
                            // Adds a TLS certificate to the endpoint
                            listenOptions.UseHttps(httpsOptions =>
                            {
                                httpsOptions.ServerCertificate = LoadCertificate();
                            });
                        });
                    })
                    .UseStartup<Startup>();
            });
}


这里标志EnableAltSvc为浏览器设置了一个 Alt-Svc 标头。

以告诉这是现有 HTTP/1 或 HTTP/2 的替代服务。这需要告诉浏览器,替代服务 - 在这种情况下是 HTTP/3 - 应该像现有服务一样对待。

这需要一个 https 连接来保证安全和可信。

使用listenOptions.UseHttps配置ssl的证书。

使用 listenOptions.Protocols = HttpProtocols.Http3; 激活Http3 服务。

是的,就这么简单,一个适应http3协议的服务已经搭建完成。

???? 2 http/3 优势小结

由于Http/3协议,基于 UDP, 其避免了 TCP、Http/1、HTTP/2 的经典问题,实现了一个安全高效可靠的 HTTP 通信协议。

凭借着 0 RTT 建立连接、平滑的连接迁移、基本消除了队头阻塞,并增强了流量控制等特性, 在绝大多数场景下获得了比 HTTP/2 更好的效果。

因此 Http /3 必将是 http协议的未来。

相关链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值