The Alt-Svc
HTTP response header is used to advertise alternative services through which the same resource can be reached. An alternative service is defined by a protocol/host/port combination.
Syntax
Alt-Svc: clear Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age> Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>; persist=1
clear
- The special value ''clear" indicates that the origin requests all alternatives for that origin to be invalidated.
<protocol-id>
- The ALPN protocol identifier. Examples include h2 for HTTP/2 and h3-25 for draft 25 of the HTTP/3 protocol.
<alt-authority>
- The quoted string specifying the alternative authority which consists of an optional host override, a colon, and a mandatory port number.
ma=<max-age>
Optional- 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
Age
header). If the cached entry expires, the client can no longer use this alternative service for new connections. persist=1
Optional- Usually cached alternative service entries are cleared on network configuration changes. Use of the persist=1 parameter ensures that the entry is not deleted through 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.
Example
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
Specifications
Specification | Status | Comment |
---|---|---|
RFC 7838 | IETF RFC | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Alt-Svc | Chrome Full support Yes | Edge Full support ≤79 | Firefox
Full support
38
| IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android
Full support
38
| Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.