Early-Data

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Der HTTP-Early-Data-Request-Header wird von einem Zwischenserver gesetzt, um anzuzeigen, dass die Anfrage in TLS Early Data übertragen wurde und dass der Zwischenserver den 425 Too Early Statuscode versteht.

Wenn ein Client kürzlich mit einem Server interagiert hat, ermöglicht frühe Daten (auch bekannt als Zero Round-Trip Time (0-RTT) Daten) dem Client, in der ersten Rundreise einer Verbindung Daten an einen Server zu senden, ohne auf den Abschluss des TLS-Handshakes zu warten. Dies verringert die Latenz bei wiederholten Verbindungen zwischen einem Client und einem Server, hat jedoch Sicherheitsimplikationen, da frühe Daten anfällig für Replay-Angriffe sind.

Der Early-Data-Header wird nicht vom Ersteller der Anfrage (d. h. einem Browser) gesetzt.

Header-Typ Request-Header
Verbotener Header-Name Nein

Syntax

http
Early-Data: 1

Beispiele

Eine GET-Anfrage mit einem Early-Data-Header

Ein Client, der frühe Daten verwenden möchte, kann HTTP-Anfragen unmittelbar nach dem Versand des TLS-ClientHello senden. Das Versenden einer Anfrage in frühen Daten impliziert, dass der Client bereit ist, eine Anfrage als Antwort auf einen 425 Too Early-Statuscode erneut zu senden, sodass der Early-Data-Header nicht enthalten ist:

http
GET /resource HTTP/1.1
Host: example.com

Ein Zwischenserver, der eine Anfrage vor Abschluss des TLS-Handshakes mit seinem Client weiterleitet, sendet sie mit dem auf 1 gesetzten Early-Data-Header:

http
GET /resource HTTP/1.1
Host: example.com
Early-Data: 1

Spezifikationen

Specification
Using Early Data in HTTP
# header

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch