425
HTTPERRORNotable4xx Client ErrorHIGH confidence

Too Early

Production Risk

Low. This is a security mechanism. A compliant client will handle it automatically, leading only to a slight performance penalty on the initial request.

What this means

Indicates that the server is unwilling to risk processing a request that might be replayed. This is used in the context of 0-RTT (Zero Round Trip Time Resumption) in TLS 1.3, where a client sends data in the first flight of messages, which could be vulnerable to a replay attack.

Why it happens
  1. 1A client attempts to POST data using TLS 1.3's early data feature (0-RTT).
  2. 2The server is configured to not accept early data for that endpoint to prevent replay attacks.
  3. 3The server sends this status to instruct the client to retry the request securely after the TLS handshake is fully complete.
How to reproduce

A mobile app sends POST data in the initial TLS 1.3 handshake packet to improve latency, but the server rejects it as a security precaution.

trigger — this will error
trigger — this will error
(A POST request sent using TLS 1.3 0-RTT)

expected output

HTTP/1.1 425 Too Early

Fix

Retry After Handshake Completion

WHEN A client receives a 425 response.

Retry After Handshake Completion
The client should automatically and transparently retry the request over the now fully established TLS connection.

Why this works

Client-Side TLS Implementation

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All HTTP errors