Alt-Svc (HTTP Alternative Services, RFC 7838) ist ein HTTP-Response-Header, mit dem ein Server eine alternative Netzwerkposition für dieselbe Ressource ankündigt. Der Client darf diese Position für künftige Anfragen als autoritativ behandeln.
So funktioniert der Header
alt-svc: h3=":443"; ma=86400
h3=":443": Alternative ist HTTP/3 auf demselben Host, Port 443.ma=86400: max-age in Sekunden — so lange darf der Client den alternativen Dienst cachen.persist=1: Hinweis, dass der Dienst über Netzwerkwechsel hinweg bestehen bleibt.
Der Request-Header Alt-Used teilt dem Server mit, welcher alternative Dienst tatsächlich genutzt wurde.
Hauptrolle: HTTP/3-Aushandlung
Der wichtigste Einsatz von Alt-Svc ist die HTTP/3-Discovery: Ein Server, der HTTP/3 unterstützt, kündigt den h3-Endpunkt per Alt-Svc an. Der Browser versucht daraufhin automatisch eine QUIC-Verbindung. Der Wechsel auf HTTP/2 läuft dagegen über ALPN im TLS-Handshake — dafür ist kein Alt-Svc nötig.
Alternative Services eignen sich auch für Lastverteilung und Protokoll-Upgrades: Ein Server kann einen anderen Host oder Port als autoritativ nennen, ohne die URL zu ändern.
Verwandte Grundlagen: MASQUE und PCP (Port Control Protocol).