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协议的未来。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/soft/28449.html

发表评论

登录后才能评论