quic协议监听与Alt-Svc响应头的应用

天翼云开发者社区
• 阅读 4

本文分享自天翼云开发者社区《quic协议监听与Alt-Svc响应头的应用》.作者:沈****扬

QUIC是快速UDP网络连接(英语:Quick UDP Internet Connections)的缩写,是一种基于UDP协议实现的应用层可靠传输协议。目前已经被确定为HTTP 3.0标准(RFC 9000和RFC 9114)。

在传统的HTTP服务中,通常服务端需要对指定端口进行TCP协议的监听,客户端/浏览器尝试对使用IP和端口与服务端建立连接。在过去的http1和http2时代,都是HTTP协议都是基于TCP进行服务,通常是80和443端口。而对于http3(quic),监听的协议是UDP,端口一般为443。而作为较新的http3协议,大多数服务端是不支持的,客户端也不会主动去探测服务端是否支持了http3(quic)服务。那么如何告知客户端服务器支持quic呢?

其实很简单,这边引入了替代服务(alternative service, Alt-svc:)的概念,只要在客户端来请求http1或者http2的时候,告知本服务端的某个端口用其他协议可以支持同类的服务。具体的,在响应给客户端的头部添加Alt-Svc头,对本服务器支持的情况进行说明,详细的定义可以参考文档RFC7838。 如响应头Alt-Svc: h3=":443";ma=2592000,表示服务端的443端口支持http3,有效期为2592000秒,即30天。

更进一步的,由于quic协议经过长期发展至今,到目前为止迭代了许多的版本,主要分为gquic(GOOGLE QUIC)和iquic(IETF QUIC),那么如何告知服务器所支持的quic版本呢?可以参考下面两个例子:

(1)对于iquic格式为: Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 表示443端口支持h3-v1版本和h3-29版本协议,有效期为2592000秒,两个协议中间以逗号区分。

(2)对于gquic格式为: Alt-Svc: quic=":443";ma=2592000;v="43,46" 表示443端口支持gquic的43、46版本,有效期为2592000秒。

点赞
收藏
评论区
推荐文章
捉虫大师 捉虫大师
4年前
聊聊dubbo协议
协议协议通俗易懂地解释就是通信双方需要遵循的约定。我们了解的常见的网络传输协议有tcp、udp、http等。再到我们常用的基础组件,一般来说client端与server端也有相应的协议,如redis、mysql、zookeeper等都是各自约定的私有协议,同样今天标题中的dubbo协议也是一种私有协议,他们都是应用层协议,基于tcp或udp设计。
Wesley13 Wesley13
4年前
TCP、UDP和HTTP关系
先来一个讲TCP、UDP和HTTP关系的http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTT
Wesley13 Wesley13
4年前
QUIC协议初探
1、QUIC介绍(1)QUIC(QuickUDPInternetConnections)协议是一种全新的基于UDP的web开发协议。可以用一个公式大致概括:TCPTLSHTTP2UDPQUICHTTP2’sAPI从公式可看出:QUIC协议虽然是基于UDP,但它不但具有TCP的可靠
Wesley13 Wesley13
4年前
QUIC协议加速互联网
2015042112:06 | DevStore编辑陈儿最近Google开始考虑用改进版的UDP协议QUIC给web提速。根据它近日公布的性能评估,这一融合了UDP与TCP优势的协议似乎提升效果明显。那QUIC与其他协议的区别和优势又在那里,谷歌究竟是怎么想的呢?讨论这个问题前,先来普及一下网络协议的基础知识!网络协议
谷歌浏览器访问QUIC实践
文分享自天翼云开发者社区《》.作者:林娟一、背景信息:QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。Google推出的QUIC被称为GQUIC,IETF制定的QUIC称为IQUIC
quic协议中Connection ID的协商机制
quic协议是基于UDP的应用层可靠协议。由于UDP本身是无连接的服务,因此quic数据包的连接ID(connectionid)用于确定该数据包属于哪个quic连接。长包头包含两个连接ID:目标连接ID(DCIDDestinationConnectionID)和目标连接ID(SCIDSourceConnectionID)。
boringssl中0-RTT的错误码
本文分享自天翼云开发者社区《》.作者:沈扬在TLS协议中,0RTT(零往返时间)是指在某些情况下,客户端可以在第一个往返(RTT)中就开始发送加密的应用数据,而不需要等待完整的TLS握手完成。这种机制允许客户端在重新连接到服务器时,利用之前会话中缓存的信息
QUIC协议在天翼云CDN全站加速产品中的应用
QUIC全称:QuickUDPInternetConnections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。
API 小达人 API 小达人
1年前
如何在 Eolink Apikit 中发起 TCP/UDP 文档测试
TCP/UDP是两种常用的网络传输协议。TCP协议提供可靠的连接,而UDP协议提供不可靠的连接。
常见应用层DDoS攻击
本文分享自天翼云开发者社区《》,作者:罗文DDoS(分布式拒绝服务)应用层攻击是一种针对网络应用层的攻击方式。应用层是网络协议栈中最高级别的层次,负责处理用户与网络应用之间的交互。在应用层攻击中,攻击者通过发送大量的恶意请求或者利用应用层协议的漏洞,使目标
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
987
粉丝
16
获赞
40