Alt-svc
替代服务(alternative service, Alt-svc:)头部和它相对应的 ALT-SVC
HTTP/2帧并不是特别为QUIC和HTTP/3设计的。它是为了让服务器可以告诉客户端 “看,我在这个主机的这个端口用这个协议提供相同的服务” 而设计的。详见RFC 7838。
如果初始连接使用的是HTTP/2(甚至HTTP/1),服务器可以响应并告诉客户端它可以再试试HTTP/3。连接可以指向相同主机或者不同但提供相同服务的主机。Alt-svc回复中有一个到期计时器,让客户端可以在指定的时间内使用建议的替代协议将后续的连接和请求直接发送给替代主机。
例子
一个HTTP服务器的响应中包含了如下的一个 Alt-Svc:
头部:
Alt-Svc: h3=":50781"
这指示了同一名称的主机在UDP端口50781提供HTTP/3服务。
然后,客户端可以尝试与该端口建立QUIC连接。如果成功,后续将通过该连接继续通信,代替初始的HTTP版本。
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「IT平头哥联盟」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程