Alt-Svc HTTP header allows a server to indicate that another network location (the "alternative service") can be treated as authoritative for that origin when making future requests.
Doing so allows new protocol versions to be advertised without affecting in-flight requests, and can also help servers manage traffic. Using an alternative service is not visible to the end user; it does not change the URL or the origin of the request, and does not introduce extra round trips.
Alt-Svc: clear Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age> Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>; persist=1
The special value
clearindicates that the origin requests all alternative services for that origin to be invalidated.
The ALPN protocol identifier. Examples include
h2for HTTP/2 and
h3-25for draft 25 of the HTTP/3 protocol.
The quoted string specifying the alternative authority which consists of an optional host override, a colon, and a mandatory port number.
The number of seconds for which the alternative service is considered fresh. If omitted, it defaults to 24 hours. Alternative service entries can be cached for up to <max-age> seconds, minus the age of the response (from the
Ageheader). Once the cached entry expires, the client can no longer use this alternative service for new connections.
Usually cached alternative service entries are cleared on network configuration changes. Use of the
persist=1parameter requests that the entry not be deleted by such changes.
Multiple entries can be specified in a single
Alt-Svc header using comma as separator.
In that case, early entries are considered more preferable.
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 Alternative Services |
BCD tables only load in the browser
- Alternative Services (article about
Alt-Svcby HTTP Working Group chair Mark Nottingham)