Referencia de códigos de estado HTTP

Lista con buscador de todos los códigos de estado HTTP del registro IANA (100–511) con su frase de motivo, el RFC que los define y una explicación clara de su uso.

64 de 64 códigos
  • 100ContinueRFC 9110

    El servidor recibió las cabeceras; el cliente puede seguir enviando el cuerpo (respuesta a Expect: 100-continue).

  • 101Switching ProtocolsRFC 9110

    El servidor acepta cambiar de protocolo según la cabecera Upgrade, por ejemplo a WebSocket.

  • 102ProcessingRFC 2518

    WebDAV: el servidor sigue procesando una petición larga; aún no hay respuesta.

  • 103Early HintsRFC 8297

    Se envía antes de la respuesta final para que el navegador precargue los recursos indicados en cabeceras Link.

  • 104Upload Resumption Supporteddraft-ietf-httpbis-resumable-uploadregistro temporal

    Borrador de subidas reanudables: el servidor permite reanudar subidas interrumpidas.

  • 200OKRFC 9110

    La petición tuvo éxito. El cuerpo contiene el recurso pedido o el resultado de la acción.

  • 201CreatedRFC 9110

    Se creó un recurso nuevo; su URL suele venir en la cabecera Location.

  • 202AcceptedRFC 9110

    La petición se aceptó para procesarla, pero aún no ha terminado (tareas asíncronas).

  • 203Non-Authoritative InformationRFC 9110

    Éxito, pero un proxy que transforma el contenido modificó la respuesta.

  • 204No ContentRFC 9110

    Éxito sin cuerpo de respuesta, típico de DELETE o al guardar datos.

  • 205Reset ContentRFC 9110

    Éxito; el cliente debe restablecer el formulario o la vista que envió la petición.

  • 206Partial ContentRFC 9110

    Solo se devuelve una parte del recurso, según la cabecera Range (descargas reanudables, saltos en vídeo).

  • 207Multi-StatusRFC 4918

    WebDAV: el cuerpo contiene códigos de estado distintos para varios recursos.

  • 208Already ReportedRFC 5842

    WebDAV: los miembros de un enlace ya se listaron antes en esta respuesta.

  • 226IM UsedRFC 3229

    Codificación delta: la respuesta es el resultado de manipulaciones aplicadas al recurso.

  • 300Multiple ChoicesRFC 9110

    Hay varias representaciones disponibles y el cliente puede elegir una.

  • 301Moved PermanentlyRFC 9110

    El recurso se movió de forma permanente a la URL de Location; los buscadores trasladan el posicionamiento. Los clientes pueden cambiar POST por GET.

  • 302FoundRFC 9110

    El recurso está temporalmente en otra URL; hay que seguir usando la original. Los clientes pueden cambiar POST por GET.

  • 303See OtherRFC 9110

    Consulta otra URL con GET, normalmente tras enviar un formulario (patrón Post/Redirect/Get).

  • 304Not ModifiedRFC 9110

    La copia en caché sigue siendo válida (petición condicional con If-None-Match / If-Modified-Since); no se envía cuerpo.

  • 305Use ProxyRFC 9110obsoleto

    Obsoleto: había que acceder al recurso a través de un proxy. No se usa por motivos de seguridad.

  • 306(Unused)RFC 9110reservado, sin uso

    Reservado; se usó en un borrador anterior y ya no se utiliza.

  • 307Temporary RedirectRFC 9110

    Redirección temporal que conserva el método y el cuerpo (un POST sigue siendo POST).

  • 308Permanent RedirectRFC 9110

    Redirección permanente que conserva el método y el cuerpo (un POST sigue siendo POST).

  • 400Bad RequestRFC 9110

    El servidor no puede procesar la petición porque está mal formada (sintaxis, parámetros o JSON no válidos).

  • 401UnauthorizedRFC 9110

    Se requiere autenticación o falló; la respuesta incluye una cabecera WWW-Authenticate.

  • 402Payment RequiredRFC 9110

    Reservado para uso futuro; algunas API lo usan para problemas de pago o de cuota.

  • 403ForbiddenRFC 9110

    El servidor entendió la petición pero la rechaza; volver a iniciar sesión no ayudará.

  • 404Not FoundRFC 9110

    No existe ningún recurso en esta URL (o el servidor no quiere revelarlo).

  • 405Method Not AllowedRFC 9110

    El método HTTP no está admitido para este recurso; la cabecera Allow indica los válidos.

  • 406Not AcceptableRFC 9110

    Ninguna representación coincide con las cabeceras Accept del cliente.

  • 407Proxy Authentication RequiredRFC 9110

    Como 401, pero hay que autenticarse en el proxy.

  • 408Request TimeoutRFC 9110

    El cliente tardó demasiado en enviar la petición y el servidor cerró la conexión.

  • 409ConflictRFC 9110

    La petición entra en conflicto con el estado actual del recurso (p. ej. edición simultánea, duplicado).

  • 410GoneRFC 9110

    El recurso se eliminó para siempre y no volverá; más contundente que 404.

  • 411Length RequiredRFC 9110

    El servidor exige la cabecera Content-Length.

  • 412Precondition FailedRFC 9110

    No se cumplió una condición previa como If-Match o If-Unmodified-Since (bloqueo optimista).

  • 413Content Too LargeRFC 9110

    El cuerpo de la petición supera el tamaño que admite el servidor (límite de subida).

  • 414URI Too LongRFC 9110

    La URL es más larga de lo que el servidor puede procesar.

  • 415Unsupported Media TypeRFC 9110

    El tipo de medio del cuerpo (Content-Type) no está admitido.

  • 416Range Not SatisfiableRFC 9110

    No se puede atender el Range pedido, por ejemplo porque empieza después del final del archivo.

  • 417Expectation FailedRFC 9110

    No se puede cumplir lo indicado en la cabecera Expect.

  • 418(Unused)RFC 9110reservado, sin uso

    Reservado y sin uso; famoso por el "I’m a teapot" de la RFC 2324 del Día de los Inocentes.

  • 421Misdirected RequestRFC 9110

    La petición llegó a un servidor que no puede responder por este host (p. ej. conexión HTTP/2 reutilizada).

  • 422Unprocessable ContentRFC 9110

    La sintaxis es correcta pero el contenido no es válido semánticamente (errores de validación).

  • 423LockedRFC 4918

    WebDAV: el recurso está bloqueado.

  • 424Failed DependencyRFC 4918

    WebDAV: la petición falló porque falló otra acción de la que dependía.

  • 425Too EarlyRFC 8470

    El servidor se niega a procesar una petición que podría repetirse (early data de TLS 1.3).

  • 426Upgrade RequiredRFC 9110

    El cliente debe cambiar a otro protocolo indicado en la cabecera Upgrade.

  • 428Precondition RequiredRFC 6585

    El servidor exige una petición condicional (If-Match) para evitar actualizaciones perdidas.

  • 429Too Many RequestsRFC 6585

    Demasiadas peticiones en un periodo (limitación de tasa); Retry-After indica cuándo reintentar.

  • 431Request Header Fields Too LargeRFC 6585

    Las cabeceras de la petición (o una de ellas, como las cookies) son demasiado grandes.

  • 451Unavailable For Legal ReasonsRFC 7725

    El recurso no está disponible por motivos legales, como una orden judicial o censura.

  • 500Internal Server ErrorRFC 9110

    Error genérico e inesperado en el servidor.

  • 501Not ImplementedRFC 9110

    El servidor no admite la funcionalidad necesaria (p. ej. un método desconocido).

  • 502Bad GatewayRFC 9110

    Un gateway o proxy recibió una respuesta no válida del servidor de origen.

  • 503Service UnavailableRFC 9110

    El servidor está sobrecargado o en mantenimiento temporalmente; puede enviar Retry-After.

  • 504Gateway TimeoutRFC 9110

    Un gateway o proxy no recibió a tiempo la respuesta del servidor de origen.

  • 505HTTP Version Not SupportedRFC 9110

    No se admite la versión de HTTP usada en la petición.

  • 506Variant Also NegotiatesRFC 2295

    La negociación de contenido está mal configurada: la variante elegida también negocia.

  • 507Insufficient StorageRFC 4918

    WebDAV: el servidor no tiene espacio suficiente para completar la petición.

  • 508Loop DetectedRFC 5842

    WebDAV: el servidor detectó un bucle infinito al procesar la petición.

  • 510Not Extended (OBSOLETED)RFC 2774obsoleto

    Obsoleto: la petición necesitaba más extensiones (HTTP Extension Framework).

  • 511Network Authentication RequiredRFC 6585

    El cliente debe autenticarse para acceder a la red, p. ej. un portal cautivo de Wi-Fi.

Todos los códigos del registro de códigos de estado HTTP de la IANA, con la RFC que los define. Las frases de motivo se muestran en inglés porque así viajan por la red. No se incluyen códigos no registrados que usan algunos productos (p. ej. 499, 520–527).

¿Qué es Códigos de estado HTTP?

Una referencia completa y con buscador de los 64 códigos de estado HTTP registrados en IANA, desde 100 Continue hasta 511 Network Authentication Required. Cada entrada muestra la frase de motivo oficial, el RFC que lo define y una breve explicación de lo que significa y cuándo lo envían los servidores; los códigos obsoletos y sin uso están marcados.

Cómo usar Códigos de estado HTTP

  1. Escribe en el buscador un código (404), parte de un código (30) o una palabra (redirección, timeout).
  2. Filtra por clase: 1xx informativos, 2xx éxito, 3xx redirección, 4xx error del cliente, 5xx error del servidor.
  3. Consulta la frase de motivo, el RFC y la explicación de cada código.

Ejemplo

Entrada
418
Salida
418 (Unused) · RFC 9110 · reserved and unused; known from the "I’m a teapot" April Fools’ RFC 2324.

Cuándo usar Códigos de estado HTTP

Úsala al depurar API, leer registros del servidor o elegir qué estado devolver desde tus propios endpoints. Los códigos no oficiales que usan productos concretos (Nginx 499, Cloudflare 520–527, IIS 440) no están en el registro y por tanto no aparecen.

Cómo funciona Códigos de estado HTTP

La lista refleja el registro de códigos de estado HTTP de IANA, que desde 2022 se define principalmente en el RFC 9110 (HTTP Semantics) más extensiones como WebDAV (RFC 4918) y el RFC 6585. La búsqueda compara el prefijo del código, la frase de motivo en inglés y la explicación en el idioma actual, todo localmente.

Casos de Uso Comunes

  • Decidir entre 401 y 403, o entre 400 y 422, para un error de API.
  • Consultar 425 Too Early o 421 Misdirected Request vistos en los registros.
  • Explicar a un cliente por qué 410 Gone es mejor que 404 para páginas eliminadas.
  • Elegir 307 o 308 cuando una redirección debe conservar el método POST.

Preguntas Frecuentes

¿Qué diferencia hay entre 401 y 403?

401 significa no autenticado (o que las credenciales fallaron) y va acompañado de WWW-Authenticate. 403 significa que el servidor sabe quién eres pero no tienes permiso.

¿Es 418 I'm a teapot un código de estado real?

Está reservado en el registro y el RFC 9110 lo marca como sin uso, porque muchísimas bibliotecas lo implementan a partir del RFC de broma del Día de los Inocentes de 1998.

¿Por qué 422 se llama ahora Unprocessable Content?

El RFC 9110 lo trasladó de WebDAV al núcleo de HTTP y lo renombró, ya que antes se llamaba Unprocessable Entity.

Explora más categorías