425 Too Early

The server refuses to process a request sent in TLS 1.3 early data because it might be a replay.

Status

HTTP/1.1 425 Too Early

Details

TLS 1.3 lets a client send data in the first flight when resuming a session, saving a round trip. Early data has a weakness: a network attacker can capture and replay it. A server that will not risk replaying a state-changing request answers 425 and asks the client to send it again after the handshake completes.

The right policy is to allow early data for safe, idempotent requests and to reject it for anything that changes state.

Headers

Common causes

How to fix it

As the client

As the server

Examples

POST /api/payments HTTP/1.1
Host: api.example.com
Early-Data: 1

HTTP/1.1 425 Too Early

Specifications

RFC 8470 §5.2

See also