Alt-Svc 头
HTTP Alt-Svc
响应头允许服务器指示另一个网络位置(“替代服务”)在未来的请求中可以被视为该源的权威。
这样做可以宣传新的协议版本,而不会影响正在进行的请求,也可以帮助服务器管理流量。使用替代服务对终端用户是不可见的;它不改变 URL 或请求的源,也不引入额外的往返开销。
语法
http
Alt-Svc: clear
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>; persist=1
clear
-
该源的所有替代服务都将失效。
<protocol-id>
-
应用层协议协商 (ALPN) 协议标识符。示例包括 HTTP/2 的
h2
和 HTTP/3 协议草案 25 的h3-25
。 -
一个带引号的字符串,指定替代权威,由可选的主机覆盖、冒号和强制的端口号组成。
ma=<max-age>
可选-
替代服务被认为是新鲜的秒数。如果省略,默认为 24 小时。替代服务条目可以缓存最多
<max-age>
秒,减去响应的年龄(来自Age
头)。一旦缓存条目过期,客户端就不能再将此替代服务用于新连接。 persist=1
可选-
条目不会因网络配置更改而被删除。缓存的替代服务条目通常在此类更改时被清除。
可以在单个 Alt-Svc
头中指定多个条目,使用逗号作为分隔符。在这种情况下,靠前的条目被认为是更优先的。
示例
http
Alt-Svc: h2=":443"; ma=2592000;
Alt-Svc: h2=":443"; ma=2592000; persist=1
Alt-Svc: h2="alt.example.com:443", h2=":443"
Alt-Svc: h3-25=":443"; ma=3600, h2=":443"; ma=3600
规范
规范 |
---|
HTTP 备用服务 # alt-svc |
浏览器兼容性
加载中…
另见
- HTTP 工作组主席 Mark Nottingham (2016) 的替代服务