Referencia de códigos de estado HTTP

Busca y filtra 46 códigos de estado HTTP con un resumen de una línea y notas prácticas de solución para cada uno.

Esta referencia es estática y totalmente local. Tus búsquedas nunca salen de la página.

—

Cómo funciona

Toda respuesta HTTP empieza con un código de tres cifras, y el primer dígito ya indica en cuál de las cinco clases estás. Esta referencia cubre los 46 códigos que un desarrollador ve de verdad, cada uno con un resumen de una línea y una nota ampliada con la causa común y la primera acción a intentar — filtra por clase, busca por código o frase y pulsa cualquier fila para abrirla.

Las cinco clases
1xx es informativo: señales intermedias que suelen completarse dentro del manejo de conexión del cliente. 2xx es éxito, con variantes para creado (201), aceptado-pero-inacabado (202) y deliberadamente vacío (204). 3xx es redirección: ve a otra URL bajo reglas explícitas. 4xx es error del cliente: la petición enviada no era aceptable. 5xx es error del servidor: la petición estaba bien pero el servidor no pudo cumplir. La división más útil al depurar: 4xx mira lo que enviaste, 5xx mira lo que ellos ejecutan.
Idempotencia y reintentos
Seguros de reintentar con retroceso: 408, 425, 429 (respeta Retry-After) y la familia 5xx —500, 502, 503, 504—. Nunca merecen reintentos a ciegas los 4xx sobre el propio payload (400, 413, 415) ni los fallos de autorización (401, 403). Códigos como 409 y 412 solo admiten reintento tras leer el estado fresco y resolver el conflicto: repetir la misma petición vuelve a fallar.
Redirecciones permanentes frente a temporales
301 y 308 se cachean en la práctica para siempre: úsalos solo si la URL vieja no volverá, y sabe que un error persigue a los usuarios incluso tras arreglar el servidor. 302, 303 y 307 no se almacenan —el navegador vuelve a preguntar por la URL original— y difieren en cómo reescriben el método: 303 fuerza GET, 307 preserva el método, 302 lo conserva en la práctica pero sin garantía.

Preguntas frecuentes

¿Qué diferencia hay entre 429 y 503?

El culpable y la recuperación. 429 Too Many Requests significa que tu cliente superó un límite de peticiones: la petición era válida y el servidor sano, pero preguntaste demasiado, así que retrocede y respeta Retry-After. 503 Service Unavailable significa que el propio servidor está saturado o en mantenimiento: cualquier petición recibiría la misma respuesta, así que es un problema de capacidad, no de tu comportamiento. Ambos invitan a reintentar con retroceso; solo el 429 empeora específicamente para ti.

¿Cómo usa el navegador el 304?

Mediante peticiones condicionales. Cuando una copia en caché caduca, el navegador revalida enviando If-None-Match (con el ETag guardado) o If-Modified-Since; si nada cambió, el servidor responde 304 Not Modified sin cuerpo y el navegador sirve su copia. Lo verás en DevTools como una respuesta minúscula y no es un error; si sientes que 'tus cambios no aparecen', lo que hay que inspeccionar son las cabeceras de caché, no el 304.

¿El 418 I'm a Teapot es un estándar de verdad?

Sí, en el sentido RFC: viene de la RFC 2324, la especificación de April Fools de 1998 del HTCPCP, el Hyper Text Coffee Pot Control Protocol. Las especificaciones HTTP modernas (RFC 9110 y RFC 9562) reservan explícitamente el código para que las viejas teteras sigan funcionando. En la práctica, un 418 real suele ser una broma o un honeypot de sistemas antebots.

¿Por qué solo 46 códigos?

Porque HTTP define más de sesenta códigos y la mayoría nunca conocerá el resto. Esta lista cubre todos los de la semántica HTTP central (RFC 9110/9111) más los añadidos en las RFC 6585, 4918/5842 (WebDAV), 7725, 8470 y el 425 relacionado con TLS: los que puedes ver de verdad en una consola del navegador, un log del servidor o la traza de un proxy, en un solo lugar buscable.

¿Se sube algo a un servidor?

No. Las 46 entradas están incrustadas en la propia página; buscar y filtrar ocurre en el JavaScript de tu pestaña. Tus consultas nunca salen del dispositivo y la página funciona sin red una vez cargada.