425 Too Early

El servidor no se arriesga a procesar una solicitud que podría repetirse.

Cuándo usarlo

Datos anticipados de TLS (0-RTT).

Causas habituales y soluciones

425 está relacionado con los early data de TLS 1.3, también llamados 0-RTT: un cliente que vuelve a conectarse puede enviar su solicitud junto con el primer paquete del handshake, pero un atacante puede volver a enviar esos datos. Un servidor o una CDN que recibe en early data una solicitud con efectos secundarios puede responder 425, y el cliente la reenvía cuando termina el handshake. Los proxies marcan esas solicitudes con la cabecera Early-Data: 1.

Rara vez lo gestionas tú, porque los navegadores reintentan automáticamente. Importa cuando activas 0-RTT, por ejemplo ssl_early_data on en nginx: reenvía el indicador con proxy_set_header Early-Data $ssl_early_data, y haz que la aplicación devuelva 425 para las solicitudes POST o cualquier GET que cambie el estado. Si no puedes garantizarlo, mantén 0-RTT desactivado.

Error del cliente (4xx)

Los códigos 4xx son errores del cliente: la solicitud en sí es incorrecta, no está autorizada o apunta a algo que no existe. Repetir la misma solicitud no servirá de nada.

Cómo se ve

HTTP/1.1 425 Too Early

Cómo enviarlo

Node.js / Expressres.status(425).end()
Python / Flaskreturn '', 425
nginxreturn 425;

Cómo comprobarlo

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Abrir Códigos de estado HTTP