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/3listenOptions.Protocols = HttpProtocols.Http3;// Adds a TLS certificate to the endpointlistenOptions.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协议的未来。

相关链接:

  • 关于.Net 6 中 Quic

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浮点数赋值给整数_初学者专题:变量和赋值

作者&#xff1a;老齐对于初学Python者&#xff0c;除了看书(《跟老齐学Python&#xff1a;轻松入门》或者《Python大学实用教程》&#xff0c;均为电子工业出版社出版)、或者看视频(网易云课堂、CSDN上均有老齐的视频课程)&#xff0c;还要进行专题性总结。比如本文&#xff0…

分析android动画模块[转]

2019独角兽企业重金招聘Python工程师标准>>> 作者: 刘鹏 日期: 2009-03-07 Android 平台提供了两类动画&#xff0c;一类是 Tween 动画&#xff0c;即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果&#xff1b;第二类是 Frame 动画&#xff0c;即…

当你的手被502粘住了要怎么做?

1 看清楚&#xff0c;这是大裤衩子▼这才是 jk 裙▼2 天天看你们骂海王男友其实我有一个河神男友▼3 当你的手被502粘住了怎么办&#xff1f;▼4 不能指望食堂阿姨了自己动手丰衣足食▼5 当你被别人夸奖时▼6 宅在家里也能拍大片▼7 是我本人没错了▼你点的每个赞&#…

excel 如何替换带上标的文字_如何在Excel中批量提取中文汉字和英文字母

1. 在数据源的右边分别命名新的两列为“中文名”和“英文名”&#xff0c;然后将数据源复制到“中文名”这一列。2. 为了确保英文名字可以连在一起&#xff0c;这里我们在有空格的英文名字中间添加一个“-”。选择“中文名”下所有数据源&#xff0c;按CtrlF&#xff0c;点击“…

国内最大.NET平台重金招募中 你竟然还不知道?

各位路过的捎带眼瞅见的不小心翻到的英雄好汉请留步~让小编来带你康康这个胆敢号称国内最大的.NET的平台到底有何惊人之处一难道是因为它有--“最敢”的生态开放平台技术驱动商业创新&#xff0c;数字引领企业的未来&#xff0c;明源云通过多年专业积累&#xff0c;融合多种创新…

GChemPaint-绘制化学分子布局

Toy Posted in AppsRSSTrackbackGChemPaint 是专门用来绘制 2D 的化学分子布局软件&#xff0c;它合用于 GNOME 桌面。经由历程它所绘制的化学分子布局可以被嵌入到其他的应用程序中。Download GChemPaint 0.7.91版权声明&#xff1a; 原创作品&#xff0c;允许转载&#xff0c…

软件开发有哪些规范和标准_深圳APP软件开发的流程是什么?

深圳APP软件开发的流程是什么&#xff1f;APP软件开发是根据用户需求构建软件系统或设备的软件部分的过程&#xff0c;是一项系统工程&#xff0c;包括需求捕获&#xff0c;需求分析&#xff0c;系统设计&#xff0c;系统实现和系统测试。APP软件通常以某种编程语言实现&#x…

第十六周项目3-有相同数字?

输入两个数组中要存放的元素个数及元素值&#xff08;不超过50个&#xff09;&#xff0c;判断这两个数组中是否有相同的数字。 当两组数中有相同数字时&#xff0c;输出YES&#xff0c;否则&#xff0c;输出NO /* * Copyright (c) 2014,烟台大学计算机学院 * All right reserv…

一键对频对讲机好吗_对讲机的基础知识你都知道多少呢?

对讲机或PMR是手持式便携式无线电&#xff0c;可在单个共享频带上使用无线电波进行无线通信。这使Walkie Talkies成为以低成本与大范围人群保持联系的最有效方法之一。双向无线电功能强大&#xff0c;易于使用且易于使用。它们特别适合在户外或在手机或平板电脑过于精致或超出信…

女儿学会走路了,是不是该教她学Python了?

1 哈哈哈&#xff0c;20个人其实都是精准客户▼2 搬沙发一定不要穿的太正式&#xff01;▼3 横竖都是死让我先打完这场游戏先▼4 只要你学会这支舞你就是你妈的好朋友▼5 你能体会到这只阿拉斯加的惆怅吗&#xff1f;▼6 这双鞋一看就是全球限量有钱都买不到的那种▼7 我…

html游戏怎么做,HTML5 制做“游戏”的一个基本流程

怎样用HTML5 Canvas制作一个简单的游戏为了让大家清楚HTML5制作游戏的简单流程&#xff0c;所以先了制作一个非常简单的游戏&#xff0c;来看一看这个过程。游戏非常简单&#xff0c;无非就是英雄抓住怪物就得分&#xff0c;然后游戏重新开始&#xff0c;怪物出现在地图的随机位…

.NET 6 的 docker 镜像可以有多小

.NET 6 的 docker 镜像可以有多小?Intro最近写了一个小玩具&#xff0c;一个命令行调用 HTTP API 的工具&#xff0c;介绍可以参考&#xff1a;动手造轮子 —— dotnet-HTTPie&#xff0c;最近在使用 System.CommandLine 重构的同时&#xff0c;也在尝试减少 docker 镜像的大小…

开源播放器 Banshee 发布 1.0 beta 2

Banshee也是个很是不错的开源播放器,同时也是SuSE的内置播放器,默许支持靠山播放,消息区域告诉,可以快速跳过以后曲目,评分等等,也支持全局热键,媒体库支持音频和视频.新版本提供了对网络视频和PodCast的优秀支持.SuSE/Ubuntu/Fedora Linux用户可以从源中直接安置,也可以下载安…

仓库每天的账怎样做_新年第一站,济南:仓储匠人仓库问题解决与实战力培训...

【时间地点】1月15-16日&#xff0c;济南站济南市天桥区无影山北路88号祥云酒店5楼(师范路西口)【报名方式】直接加微信号“taishan33976”&#xff0c;注明姓名公司名仓储匠人。如果您认识小编的任意一位同事&#xff0c;欢迎直接找他们报名。【培训价格】1960元/人&#xff0…

一对一指导怎么追喜欢的男生

1 它们是怎样达成平衡的2 OK. 对不起打扰了3 今天也要加油鸭&#xff01;4 以色列一个父亲&#xff0c;为她“坐没坐相”的女儿打造的椅子。5 这个床我爱了6 静冈花火大会上摄影师发现了一个有趣的角度7 怎么样学会了吗内容自奔现翻车现场你点的每个赞&#xff0c;我都认真当成…

android canvas_Android 如何实现气泡选择动画

作者&#xff1a;Irina Galata Android 开发者: Yulia Serbenenko UI/UX 设计师 译者&#xff1a;skyar2009链接&#xff1a;https://juejin.im/post/58e5ec838d6d8100616d82e2/跨平台用户体验统一正处于增长趋势&#xff1a;早些时候 iOS 和安卓有着不同的体验&#xff0c;但是…

MVC中的验证规则

前面的博客中曾经提到过ModelBing机制&#xff0c;也在Demo中体现过&#xff0c;在MVC中更吊的是封装了自定义的验证规则。下面来一个Demo来展现一下&#xff0c;看了后&#xff0c;你一定会爱上它的&#xff0c;能让你少写很多JS语句。 1.View层 [html] view plaincopyprint…

网络——在网络上发送,接收数据

问题 创建并加入一个网络会话是一回事&#xff0c;但如果不能发送或接收任何数据那么网络会话有什么用呢&#xff1f; 解决方案 当玩家连接到会话时&#xff0c;你可以在一个PacketWriter流中存储所有想要发送的数据。完成这个操作后&#xff0c;你可以使用LocalNetworkPlayer.…

微服务之 EShop on dapr概览

????欢迎点赞 &#xff1a;???? 收藏 ⭐留言 ???? 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;????本文作者&#xff1a;由webmote 原创&#xff0c;首发于 【掘金】????作者格言&#xff1a;生活在于折腾&#xff0c;当你不折…

苹果android 对比,苹果安卓旗舰差距有多少?看了这份对比,果粉傻眼了

最近&#xff0c;身边不少小伙伴都在换机&#xff0c;有的换了最新的 iPhone 12 系列&#xff0c;有的则是换成安卓旗舰&#xff0c;毕竟现在的安卓旗舰与 iPhone 之间的体验已经十分接近&#xff0c;甚至在一些方面安卓旗舰还有着不小的优势。下面&#xff0c;我们以最新的 iP…