写点什么

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

  • 2025-11-27
    北京
  • 本文字数:728 字

    阅读完需:约 2 分钟

本文分享自天翼云开发者社区《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 秒。

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
quic协议监听与Alt-Svc响应头的应用_CDN_天翼云开发者社区_InfoQ写作社区