Early-Data header
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Der HTTP Early-Data Anforderungsheader wird von einem Vermittler gesetzt, um anzuzeigen, dass die Anfrage in TLS-Frühdaten übertragen wurde, und zeigt auch an, dass der Vermittler den 425 Too Early Statuscode versteht.
Wenn ein Client kürzlich mit einem Server interagiert hat, ermöglichen es Frühdaten (auch bekannt als Zero-Round-Trip-Time (0-RTT) Daten) dem Client, Daten in der ersten Runde der Verbindung an einen Server zu senden, ohne auf den Abschluss des TLS-Handshakes zu warten. Dies reduziert die Latenz bei wiederholten Verbindungen zwischen einem Client und Server, hat jedoch sicherheitsrelevante Implikationen, da Frühdaten anfällig für Replay-Angriffe sind.
Der Early-Data-Header wird nicht vom Urheber der Anfrage gesetzt (d.h. einem Browser).
| Header-Typ | Anforderungsheader |
|---|---|
| Verbotener Anforderungsheader | Nein |
Syntax
Early-Data: 1
Beispiele
>Eine GET-Anfrage mit einem Early-Data-Header
Ein Client, der Frühdaten verwenden möchte, kann HTTP-Anfragen sofort nach dem Senden des TLS ClientHello senden. Das Senden einer Anfrage in Frühdaten impliziert, dass der Client bereit ist, eine Anfrage im Antwort auf einen 425 Too Early Statuscode zu wiederholen, sodass der Early-Data-Header nicht inkludiert wird:
GET /resource HTTP/1.1
Host: example.com
Ein Vermittler, der eine Anfrage vor Abschluss des TLS-Handshakes mit seinem Client weiterleitet, sendet sie mit dem Early-Data-Header, der auf 1 gesetzt ist:
GET /resource HTTP/1.1
Host: example.com
Early-Data: 1
Spezifikationen
| Specification |
|---|
| Using Early Data in HTTP> # header> |