Saltar al contenido principal

Referencia de códigos de estado HTTP gratis

Referencia con capacidad de búsqueda para todos los códigos de estado HTTP: qué significa cada uno, cuándo se usa y causas comunes. Del 100 al 511.

Funciona sin conexión una vez cargado

61 códigos de estado

100

Continuar

El servidor ha recibido los encabezados de solicitud y el cliente debe proceder con el cuerpo.

Se usa para solicitudes con Expect: 100-continue. El servidor reconoce que está dispuesto a recibir el cuerpo antes de que el cliente lo envíe. Raramente se ve en aplicaciones web modernas.

RFC 9110 ↗
101

Cambiando Protocolos

El servidor está cambiando de protocolo según lo solicitado por el cliente.

Se utiliza más comúnmente para actualizaciones de WebSocket — el cliente solicita Upgrade: websocket y el servidor responde 101 para cambiar.

RFC 9110 ↗
102

Procesando

El servidor ha recibido la solicitud y la está procesando, pero aún no hay respuesta disponible.

Una respuesta provisional de WebDAV enviada para evitar tiempos de espera del cliente durante operaciones prolongadas. Obsoleto: los servidores modernos no deben enviarla.

RFC 2518 ↗
103

Pistas Tempranas

Encabezados preliminares enviados antes de la respuesta final.

Permite que los servidores envíen encabezados Link (preload/preconnect) mientras se sigue preparando la respuesta final, para que los navegadores puedan comenzar a buscar activos críticos antes.

RFC 8297 ↗
200

OK

La solicitud fue exitosa.

La respuesta de éxito estándar. El significado depende del método HTTP: GET → recurso devuelto, POST/PUT → acción completada.

RFC 9110 ↗
201

Creado

Un nuevo recurso fue creado exitosamente.

Común después de un POST. La respuesta debe incluir un encabezado Location que apunte a la URL del nuevo recurso.

RFC 9110 ↗
202

Aceptado

La solicitud fue aceptada para procesamiento, pero el procesamiento no está completo.

Para operaciones asincrónicas — el servidor está encolando el trabajo. El cliente debe sondear un punto final de estado o volver a consultar más tarde.

RFC 9110 ↗
203

Información No Autorizada

La respuesta fue modificada por un proxy de transformación.

La solicitud fue exitosa, pero un intermediario (como un proxy de almacenamiento en caché o transformación) alteró la carga útil del servidor de origen — por ejemplo, recomprimiendo imágenes. Raro en la práctica.

RFC 9110 ↗
204

Sin Contenido

La solicitud fue exitosa pero no hay cuerpo de respuesta.

A menudo se usa para operaciones DELETE o actualizaciones PUT que no necesitan devolver un cuerpo. El cliente no debe abandonar la página actual.

RFC 9110 ↗
205

Restablecer Contenido

La solicitud fue exitosa; el cliente debe restablecer la vista del documento.

Como 204, no se devuelve cuerpo — pero el cliente recibe además la indicación de restablecer el formulario o vista que produjo la solicitud (ej: limpiar los campos del formulario para la siguiente entrada).

RFC 9110 ↗
206

Contenido Parcial

El servidor entregó solo una parte del recurso.

Respuesta a una solicitud Range. Utilizada por reproductores de vídeo y gestores de descargas para reanudar descargas interrumpidas o transmitir archivos grandes.

RFC 9110 ↗
207

Multi-Estatus

El cuerpo de la respuesta contiene múltiples códigos de estado para múltiples operaciones.

WebDAV: un cuerpo XML informa el resultado de varias sub-operaciones de forma independiente — ej: un movimiento en lote donde algunos elementos tuvieron éxito y otros fallaron.

RFC 4918 ↗
208

Ya Reportado

Los miembros de una colección ya fueron listados anteriormente en la respuesta.

WebDAV: se usa dentro de respuestas 207 Multi-Status para evitar enumerar repetidamente miembros de la misma colección cuando los enlaces crean bucles.

RFC 5842 ↗
226

IM Usado

La respuesta es el resultado de manipulaciones de instancia aplicadas al recurso.

Codificación delta: el servidor devuelve una diferencia respecto a una versión anterior en lugar del recurso completo, ahorrando ancho de banda. Muy rara vez implementado.

RFC 3229 ↗
300

Opciones Múltiples

Varias representaciones del recurso están disponibles.

El servidor ofrece múltiples opciones (ej: diferentes formatos o idiomas) y el cliente debe elegir una. Rara vez se usa, porque la negociación automática de contenido generalmente maneja esto.

RFC 9110 ↗
301

Movido Permanentemente

El recurso se ha movido permanentemente a una nueva URL.

Usa para cambios permanentes de URL — los motores de búsqueda actualizarán su índice. La autoridad SEO se transfiere a la nueva URL.

RFC 9110 ↗
302

Encontrado (Redirección Temporal)

El recurso está temporalmente en una URL diferente.

Indica que la redirección no es permanente. El almacenamiento en caché es menos agresivo que 301. Usa para cosas como 'se requiere inicio de sesión, redirigiendo a /login'.

RFC 9110 ↗
303

Ver Otro

Redirigir a una URL diferente usando GET.

Se usa después de envíos POST — la respuesta dice 'tu POST funcionó, mira esta URL GET para el resultado'. Los navegadores siempre solicitan la nueva URL con GET.

RFC 9110 ↗
304

No Modificado

La versión en caché sigue siendo válida; úsala.

Respuesta a una solicitud condicional (con encabezados If-None-Match o If-Modified-Since). Ahorra ancho de banda — no se devuelve cuerpo.

RFC 9110 ↗
307

Redirección Temporal

Como 302 pero preserva el método HTTP original.

Si el original era POST, la redirección también usa POST. Alternativa moderna a 302 cuando la preservación del método es importante.

RFC 9110 ↗
308

Redirección Permanente

Como 301 pero preserva el método HTTP original.

Reemplazo moderno para 301 cuando quieres que las solicitudes POST sigan siendo POST después de la redirección.

RFC 9110 ↗
400

Solicitud Incorrecta

El servidor no pudo entender la solicitud debido a sintaxis mal formada.

Causas comunes: JSON mal formado en el cuerpo, parámetros de consulta inválidos o campos requeridos faltantes. Verifica el cuerpo de la solicitud y los encabezados.

RFC 9110 ↗
401

No Autorizado

Se requiere autenticación y no ha sido proporcionada.

El cliente debe incluir credenciales de autenticación (encabezado Authorization, cookie, token). 'No autorizado' es un error de nombre — realmente significa 'no autenticado'.

RFC 9110 ↗
402

Pago Requerido

Reservado para uso futuro — a veces se usa para niveles de API pagos.

Originalmente destinado a pagos digitales. Uso moderno: algunas APIs devuelven 402 cuando un usuario ha excedido su cuota pagada.

RFC 9110 ↗
403

Prohibido

El cliente está autenticado pero no tiene permiso.

Diferente de 401 — el usuario SÍ está autenticado, pero su cuenta no tiene permiso para este recurso. Verifica la lógica de roles/permisos.

RFC 9110 ↗
404

No Encontrado

El recurso solicitado no existe.

O la URL es incorrecta, el recurso fue eliminado o nunca existió. Los servidores a veces devuelven 404 para ocultar que 403 sería más preciso.

RFC 9110 ↗
405

Método No Permitido

El método HTTP utilizado no está permitido para este recurso.

Por ejemplo, una solicitud GET a un punto final que solo acepta POST. La respuesta debe incluir un encabezado Allow listando los métodos válidos.

RFC 9110 ↗
406

No Aceptable

Ninguna representación coincide con los encabezados Accept del cliente.

El cliente solicitó un tipo de contenido, idioma o codificación (mediante Accept, Accept-Language, Accept-Encoding) que el servidor no puede satisfacer. Muchos servidores omiten la negociación estricta y devuelven un valor predeterminado en su lugar.

RFC 9110 ↗
407

Se Requiere Autenticación de Proxy

El cliente debe autenticarse con el proxy primero.

Como 401, pero emitido por un proxy: el cliente debe enviar credenciales Proxy-Authorization. Se ve en redes corporativas con proxies de autenticación.

RFC 9110 ↗
408

Tiempo de solicitud agotado

El servidor agotó el tiempo de espera para la solicitud.

El cliente tardó demasiado en enviar el cuerpo de la solicitud o mantuvo la conexión inactiva. Intenta la solicitud nuevamente.

RFC 9110 ↗
409

Conflicto

La solicitud entra en conflicto con el estado actual del recurso.

Típicamente se devuelve para conflictos de edición concurrente o creación de recursos duplicados (por ejemplo, crear un usuario con un correo electrónico que ya existe).

RFC 9110 ↗
410

Desaparecido

El recurso fue eliminado y no volverá.

Más fuerte que 404 — el servidor sabe explícitamente que el recurso EXISTIÓ pero ha sido eliminado permanentemente. Los motores de búsqueda desindexarán.

RFC 9110 ↗
411

Longitud requerida

El servidor requiere un encabezado Content-Length.

La solicitud fue rechazada porque carecía de un encabezado Content-Length y el servidor rechaza cuerpos de tamaño desconocido. Añade el encabezado e intenta de nuevo.

RFC 9110 ↗
412

Precondición no cumplida

Una condición en los encabezados de la solicitud no fue cumplida.

Se devuelve cuando encabezados condicionales como If-Match o If-Unmodified-Since fallan — típicamente bloqueo optimista: alguien más cambió el recurso desde tu versión. Vuelve a obtener e intenta de nuevo.

RFC 9110 ↗
413

Carga demasiado grande

El cuerpo de la solicitud excede el límite de tamaño del servidor.

Común al subir archivos grandes. La configuración del servidor (nginx, apache) establece un tamaño máximo del cuerpo. Verifica la configuración del servidor.

RFC 9110 ↗
414

URI demasiado largo

La URL de la solicitud excede el límite de longitud del servidor.

Usualmente causado por cadenas de consulta muy largas (por ejemplo, codificar datos en una GET). Cambia a un cuerpo POST o aumenta el límite del servidor si lo controlas.

RFC 9110 ↗
415

Tipo de medio no compatible

El servidor no puede manejar el Content-Type enviado.

Por ejemplo, enviar application/xml a un servidor que solo acepta application/json. Establece el encabezado Content-Type correctamente.

RFC 9110 ↗
416

Rango no satisfacible

El rango de bytes solicitado está fuera del tamaño del recurso.

El encabezado Range solicita una porción que el archivo no tiene — por ejemplo, reanudar una descarga después del final del archivo. La respuesta debe incluir Content-Range con el tamaño real.

RFC 9110 ↗
417

Expectativa no cumplida

El servidor no puede cumplir los requisitos del encabezado Expect.

Se envía cuando el servidor no admite Expect: 100-continue. Algunos clientes envían este encabezado por defecto en POST grandes; deshabilitarlo generalmente resuelve el error.

RFC 9110 ↗
418

Soy una tetera

El servidor se niega a preparar café porque es una tetera.

Una broma del Día de los Inocentes de 1998 (RFC 2324). Algunas APIs reales la usan para bromas o para marcar extremos obsoletos. No para uso en producción.

RFC 2324 ↗
421

Solicitud mal dirigida

La solicitud fue enviada a un servidor incapaz de producir una respuesta para ella.

Común con reutilización de conexión HTTP/2: la solicitud llegó a un servidor que no está configurado para el nombre de host de destino. El cliente debe reintentar en una nueva conexión.

RFC 9110 ↗
422

Contenido no procesable

La solicitud fue sintácticamente válida pero semánticamente incorrecta.

Por ejemplo, JSON analizado correctamente pero faltaba un campo requerido, o un valor de campo estaba fuera de rango. Común en respuestas de validación de API REST.

RFC 9110 ↗
423

Bloqueado

El recurso está bloqueado.

WebDAV: el recurso de origen o destino está bloqueado por otro cliente, por lo que la operación no puede continuar. Espera a que se libere el bloqueo o rómpelo con el token adecuado.

RFC 4918 ↗
424

Dependencia fallida

La solicitud falló porque una solicitud dependiente anterior falló.

WebDAV: en una cadena de operaciones dependientes, una acción anterior falló, por lo que esta no se realizó. Mira la falla anterior para encontrar la causa raíz.

RFC 4918 ↗
425

Demasiado pronto

El servidor se niega a procesar una solicitud que podría ser reproducida.

Relacionado con TLS 1.3 0-RTT (datos tempranos): el servidor no arriesgará el procesamiento de una solicitud posiblemente reproducida. El cliente debe reintentar después de que se complete el protocolo de enlace.

RFC 8470 ↗
426

Actualización requerida

El cliente debe cambiar a un protocolo diferente.

El servidor se niega a servir la solicitud sobre el protocolo actual pero lo hará después de una actualización — la respuesta incluye un encabezado Upgrade que nombra el protocolo requerido.

RFC 9110 ↗
428

Precondición requerida

El servidor requiere que la solicitud sea condicional.

El servidor exige encabezados condicionales (como If-Match) para evitar conflictos de actualización perdida. Obtén el recurso, captura su ETag, y reenvía con If-Match.

RFC 6585 ↗
429

Demasiadas solicitudes

El cliente está siendo limitado en la velocidad.

Ve más lentamente. La respuesta debe incluir un encabezado Retry-After indicando cuándo reintentar. Común con APIs que tienen cuotas de solicitud.

RFC 6585 ↗
431

Campos de encabezado de solicitud demasiado grandes

Los encabezados son demasiado grandes para que el servidor los procese.

O un encabezado o el tamaño total de los encabezados excede el límite — con mayor frecuencia por cookies de tamaño excesivo. Borra las cookies o reduce lo que tu aplicación almacena en ellas.

RFC 6585 ↗
451

No disponible por razones legales

Acceso denegado debido a demandas legales.

El recurso está bloqueado por razones legales — censura, órdenes judiciales o regulaciones regionales. El número es una referencia a la novela Fahrenheit 451.

RFC 7725 ↗
500

Error interno del servidor

El servidor encontró una condición inesperada.

Una respuesta genérica para cualquier error del lado del servidor. Revisa los registros del servidor para hallar la causa real: excepción no manejada, error de base de datos, etc.

RFC 9110 ↗
501

No implementado

El servidor no admite la funcionalidad solicitada.

Por ejemplo, el servidor no reconoce el método HTTP. Raro en la práctica — más a menudo verás 405.

RFC 9110 ↗
502

Puerta de enlace incorrecta

El servidor, actuando como puerta de enlace, obtuvo una respuesta no válida de un servidor ascendente.

Común en arquitecturas de microservicios. Tu equilibrador de carga o proxy inverso obtuvo una respuesta malformada del servicio de back-end.

RFC 9110 ↗
503

Servicio no disponible

El servidor es temporalmente incapaz de manejar la solicitud.

Está apagado por mantenimiento o sobrecargado. La respuesta debe incluir un encabezado Retry-After. A menudo se devuelve durante despliegues.

RFC 9110 ↗
504

Tiempo de puerta de enlace agotado

El servidor de puerta de enlace agotó el tiempo de espera esperando una respuesta ascendente.

El servicio de back-end no respondió lo suficientemente rápido. Verifica la salud del servicio ascendente y las configuraciones de tiempo de espera.

RFC 9110 ↗
505

Versión HTTP no admitida

El servidor no admite la versión HTTP utilizada en la solicitud.

La versión principal de HTTP de la solicitud no es compatible con el servidor. Casi nunca se ve con clientes modernos.

RFC 9110 ↗
506

La variante también negocia

El servidor tiene una configuración incorrecta de negociación de contenido.

La negociación de contenido transparente terminó en un bucle: la variante elegida está configurada para negociar por sí misma. Indica un error de configuración del servidor.

RFC 2295 ↗
507

Almacenamiento insuficiente

El servidor se quedó sin espacio en disco.

Específica de WebDAV en origen pero a veces utilizada por servidores generales. Significa que el servidor no puede guardar la solicitud debido a restricciones de almacenamiento.

RFC 4918 ↗
508

Bucle detectado

El servidor detectó un bucle infinito al procesar la solicitud.

WebDAV: procesar una solicitud Depth: infinity entró en un bucle (por ejemplo, vinculaciones circulares). La operación fue terminada.

RFC 5842 ↗
510

No extendido

Se requieren extensiones adicionales a la solicitud.

Del Marco de Extensión HTTP obsoleto: el servidor necesita más información antes de poder cumplir la solicitud. Efectivamente no se usa en la web moderna.

RFC 2774 ↗
511

Autenticación de red requerida

El cliente debe autenticarse para obtener acceso a la red.

Utilizado por portales cautivos (WiFi de hotel/aeropuerto) para indicar que el usuario debe iniciar sesión en la red antes de acceder a sitios externos.

RFC 6585 ↗

Usos habituales

  • Referencia para Diseño de APIAl diseñar APIs REST, elige el código de estado correcto para cada respuesta.
  • Busca Códigos de Error RápidamenteCuando tu aplicación devuelve un error HTTP confuso, busca qué significa realmente.
  • Aprende Códigos de Estado HTTPReferencia completa para estudiantes y desarrolladores que aprenden HTTP y REST.
  • Referencia Rápida Durante IncidentesDurante incidentes en producción, busca rápidamente qué significa cada código de estado.
  • Referencia para Documentación de APIAl escribir documentación de API, enlace a descripciones autorizadas de los códigos de estado que devuelve.

Cómo funciona

Esta herramienta es una referencia del lado del cliente construida alrededor de una tabla de referencia codificada de 63 códigos de estado HTTP que abarca las cinco clases (1xx–5xx), cada una anotada con su número de RFC de definición. No hay llamada al servidor, ni API externa, ni solicitud de red: todo el filtrado y visualización ocurre en el navegador usando los métodos integrados de arreglos y cadenas de JavaScript.

  1. 1
    Se carga la tabla de referencia
    El conjunto completo de 63 códigos de estado registrados por la IANA está incrustado directamente en esta herramienta como un arreglo de JavaScript, cada entrada con el código numérico, el nombre canónico en inglés, la clase de categoría y la RFC específica que lo define (por ejemplo, RFC 9110 para la mayoría de los códigos HTTP/1.1, RFC 6585 para 429 Too Many Requests, RFC 2324 para 418 I'm a Teapot).
  2. 2
    El filtro se ejecuta en memoria
    Mientras escribes o seleccionas un filtro de categoría, Array.filter de JavaScript se ejecuta sobre la lista en memoria, comparando tu consulta con el número de código de estado, el nombre canónico y las cadenas de descripción corta y larga usando String.includes: sin retraso, sin ida y vuelta al servidor.
  3. 3
    Los detalles se expanden con enlace a la RFC
    Cada resultado se renderiza como un elemento HTML details/summary. Expandir una entrada revela la explicación en forma larga y un enlace directo a la RFC autoritativa en rfc-editor.org, para que puedas leer el texto exacto de la especificación de cualquier código.
  4. 4
    Enlaces profundos y copia al portapapeles
    Abrir una entrada actualiza el hash de la URL al número de código (por ejemplo, #404), haciendo la página compartible y apta para marcadores. El botón de copiar escribe la cadena canónica (por ejemplo, '404 Not Found') en el portapapeles mediante la API navigator.clipboard del navegador.

Herramientas relacionadas

Preguntas frecuentes