Alt-Svc

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=1Optional
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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Alt-SvcChrome Full support YesEdge Full support ≤79Firefox Full support 38
Full support 38
No support 37 — 38
Notes
Notes Only supports draft-04
No support 35 — 37
Notes Disabled
Notes Only supports draft-03
Disabled From version 35 until version 37 (exclusive): this feature is behind the network.http.altsvc.enabled preference (needs to be set to true) and the altsvc.oe preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 38
Full support 38
No support 37 — 38
Notes
Notes Only supports draft-04
No support 35 — 37
Notes Disabled
Notes Only supports draft-03
Disabled From version 35 until version 37 (exclusive): this feature is behind the network.http.altsvc.enabled preference (needs to be set to true) and the altsvc.oe preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support YesSafari 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.

See also