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
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:
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:
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