Alt-Svc
Alt-Svc
HTTP 标头允许服务器指示另一个网络位置(“备用服务”)可以在进行未来请求时被视为该源的权威来源。
这样做允许新协议版本在不影响正在进行的请求的情况下进行广告,并且还可以帮助服务器管理流量。使用备用服务对最终用户不可见;它不会更改请求的 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
-
特殊值
clear
表示源请求使该源的所有备用服务失效。 <protocol-id>
-
ALPN 协议标识符。例如,
h2
代表 HTTP/2,h3-25
代表 HTTP/3 协议的草案 25。 -
指定备用权威的带引号字符串,该字符串包含可选的主机覆盖、冒号和强制性的端口号。
ma=<max-age>
可选-
备用服务被认为是新鲜的秒数。如果省略,则默认为 24 小时。备用服务条目可以缓存长达 <max-age> 秒,减去响应的年龄(来自
Age
标头)。缓存条目过期后,客户端将无法再将此备用服务用于新连接。 persist=1
可选-
通常,缓存的备用服务条目在网络配置更改时会被清除。使用
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 |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- 备用服务(HTTP 工作组主席 Mark Nottingham 关于
Alt-Svc
的文章)