Códigos de estado HTTP

Los códigos de estado HTTP, del 100 al 511, con su nombre oficial, qué significan, cuándo usarlos y el RFC que los define. Busca por número.

63 códigos
  • 100

    Continue · Continuar

    El servidor ha recibido las cabeceras y el cliente puede enviar el cuerpo.

    Cuándo usarlo: Respuesta a Expect: 100-continue antes de subir un cuerpo grande.

    RFC 9110

  • 101

    Switching Protocols · Cambiando de protocolo

    El servidor acepta cambiar al protocolo que pide la cabecera Upgrade.

    Cuándo usarlo: Al abrir un WebSocket.

    RFC 9110

  • 102

    Processing · Procesando

    WebDAV: la petición sigue en curso y aún no hay respuesta final. Hoy está en desuso.

    RFC 2518

  • 103

    Early Hints · Pistas tempranas

    Envía cabeceras Link por adelantado para que el navegador precargue recursos mientras se prepara la respuesta.

    RFC 8297

  • 200

    OK · Correcto

    La petición ha ido bien y la respuesta lleva el resultado.

    RFC 9110

  • 201

    Created · Creado

    Se ha creado un recurso nuevo. La cabecera Location suele indicar su URL.

    Cuándo usarlo: Tras un POST que crea algo.

    RFC 9110

  • 202

    Accepted · Aceptado

    La petición se ha aceptado, pero se procesará más tarde.

    Cuándo usarlo: Trabajos en cola o asíncronos.

    RFC 9110

  • 203

    Non-Authoritative Information · Información no autorizada

    Correcto, pero un proxy ha modificado la respuesta del servidor original.

    RFC 9110

  • 204

    No Content · Sin contenido

    Correcto y sin cuerpo en la respuesta.

    Cuándo usarlo: Un DELETE o un PUT que no necesita devolver nada.

    RFC 9110

  • 205

    Reset Content · Restablecer contenido

    Correcto; el cliente debe vaciar el formulario o la vista que envió la petición.

    RFC 9110

  • 206

    Partial Content · Contenido parcial

    Devuelve solo el trozo pedido con la cabecera Range.

    Cuándo usarlo: Reanudar descargas y hacer streaming de vídeo.

    RFC 9110

  • 207

    Multi-Status · Estado múltiple

    WebDAV: el cuerpo XML lleva un estado distinto para cada recurso afectado.

    RFC 4918

  • 208

    Already Reported · Ya informado

    WebDAV: este recurso ya apareció antes en la misma respuesta 207.

    RFC 5842

  • 226

    IM Used · IM usada

    La respuesta es el resultado de aplicar una transformación (delta encoding) al recurso.

    RFC 3229

  • 300

    Multiple Choices · Varias opciones

    El recurso tiene varias representaciones y el cliente puede elegir una.

    RFC 9110

  • 301

    Moved Permanently · Movido permanentemente

    El recurso tiene una URL nueva para siempre, indicada en Location. Los buscadores trasladan el posicionamiento.

    Cuándo usarlo: Cambios de dominio o de estructura de URL. Algunos clientes cambian POST por GET: si importa, usa 308.

    RFC 9110

  • 302

    Found · Encontrado

    El recurso está temporalmente en otra URL, indicada en Location.

    Cuándo usarlo: Redirecciones temporales. Para conservar el método, usa 307.

    RFC 9110

  • 303

    See Other · Ver otro

    El resultado está en otra URL que hay que pedir con GET.

    Cuándo usarlo: Después de enviar un formulario (patrón POST/redirect/GET).

    RFC 9110

  • 304

    Not Modified · No modificado

    El recurso no ha cambiado desde la copia en caché del cliente, así que no se reenvía.

    Cuándo usarlo: Respuesta a If-None-Match o If-Modified-Since.

    RFC 9110

  • 305

    Use Proxy · Usar proxy Histórico

    Obsoleto: pedía repetir la petición a través de un proxy. Los navegadores lo ignoran por seguridad.

    RFC 9110

  • 306

    (Unused) · Sin uso Sin uso

    Se usó en un borrador antiguo («Switch Proxy») y hoy está reservado.

    RFC 9110

  • 307

    Temporary Redirect · Redirección temporal

    Como 302, pero el cliente debe repetir la petición con el mismo método y cuerpo.

    RFC 9110

  • 308

    Permanent Redirect · Redirección permanente

    Como 301, pero conservando el método y el cuerpo.

    Cuándo usarlo: Mover una API de forma permanente.

    RFC 9110

  • 400

    Bad Request · Petición incorrecta

    La petición está mal formada: sintaxis, parámetros o cuerpo no válidos.

    RFC 9110

  • 401

    Unauthorized · No autenticado

    Falta autenticarse o las credenciales no valen. Debe ir con una cabecera WWW-Authenticate.

    Cuándo usarlo: Sin sesión o con un token caducado. Si está autenticado pero no tiene permiso, es 403.

    RFC 9110

  • 402

    Payment Required · Pago requerido

    Reservado para usos futuros de pago. Algunas API lo usan cuando se acaba el saldo o la suscripción.

    RFC 9110

  • 403

    Forbidden · Prohibido

    El servidor entiende la petición pero se niega a atenderla. Volver a autenticarse no cambia nada.

    RFC 9110

  • 404

    Not Found · No encontrado

    No existe nada en esa URL, o el servidor prefiere no decir que existe.

    RFC 9110

  • 405

    Method Not Allowed · Método no permitido

    El recurso existe pero no admite ese método. La cabecera Allow lista los que sí.

    RFC 9110

  • 406

    Not Acceptable · No aceptable

    No hay ninguna representación que encaje con las cabeceras Accept del cliente.

    RFC 9110

  • 407

    Proxy Authentication Required · Autenticación de proxy requerida

    Como 401, pero es el proxy el que pide credenciales.

    RFC 9110

  • 408

    Request Timeout · Tiempo de espera agotado

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

    RFC 9110

  • 409

    Conflict · Conflicto

    La petición choca con el estado actual del recurso.

    Cuándo usarlo: Ediciones simultáneas o un nombre de usuario ya ocupado.

    RFC 9110

  • 410

    Gone · Ya no existe

    El recurso existía y se ha borrado para siempre, sin dirección nueva.

    RFC 9110

  • 411

    Length Required · Longitud requerida

    El servidor exige la cabecera Content-Length.

    RFC 9110

  • 412

    Precondition Failed · Precondición fallida

    No se cumple una condición de la petición, como If-Match con un ETag antiguo.

    RFC 9110

  • 413

    Content Too Large · Contenido demasiado grande

    El cuerpo supera el tamaño que acepta el servidor. Antes se llamaba Payload Too Large.

    RFC 9110

  • 414

    URI Too Long · URI demasiado larga

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

    RFC 9110

  • 415

    Unsupported Media Type · Tipo de contenido no admitido

    El servidor no acepta el formato del cuerpo (Content-Type o Content-Encoding).

    RFC 9110

  • 416

    Range Not Satisfiable · Rango no satisfactorio

    El rango pedido con Range queda fuera del tamaño del recurso.

    RFC 9110

  • 417

    Expectation Failed · Expectativa fallida

    El servidor no puede cumplir lo que pide la cabecera Expect.

    RFC 9110

  • 418

    I'm a teapot · Soy una tetera Broma

    Una broma del Día de los Inocentes de 1998: una tetera se niega a hacer café. RFC 9110 lo reserva para que nadie lo reutilice.

    RFC 2324

  • 421

    Misdirected Request · Petición mal dirigida

    La petición llegó a un servidor que no puede responder por ese dominio, por ejemplo al reutilizar una conexión HTTP/2.

    RFC 9110

  • 422

    Unprocessable Content · Contenido no procesable

    La sintaxis es correcta, pero los datos no pasan la validación.

    Cuándo usarlo: Errores de validación en una API (un email vacío, una fecha imposible).

    RFC 9110

  • 423

    Locked · Bloqueado

    WebDAV: el recurso está bloqueado por otro cliente.

    RFC 4918

  • 424

    Failed Dependency · Dependencia fallida

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

    RFC 4918

  • 425

    Too Early · Demasiado pronto

    El servidor no quiere procesar una petición enviada en los datos tempranos de TLS 1.3, porque podría repetirse.

    RFC 8470

  • 426

    Upgrade Required · Actualización requerida

    Hay que cambiar a otro protocolo, indicado en la cabecera Upgrade.

    RFC 9110

  • 428

    Precondition Required · Precondición requerida

    El servidor exige peticiones condicionales (If-Match) para evitar que se pisen cambios.

    RFC 6585

  • 429

    Too Many Requests · Demasiadas peticiones

    El cliente ha superado el límite de peticiones. Retry-After indica cuánto esperar.

    Cuándo usarlo: Limitación de uso de una API.

    RFC 6585

  • 431

    Request Header Fields Too Large · Cabeceras demasiado grandes

    Las cabeceras, o una de ellas, son demasiado grandes. Suele pasar con cookies enormes.

    RFC 6585

  • 451

    Unavailable For Legal Reasons · No disponible por razones legales

    El recurso no se sirve por una orden legal, como una censura o una demanda. El número homenajea a Fahrenheit 451.

    RFC 7725

  • 500

    Internal Server Error · Error interno del servidor

    Algo ha fallado en el servidor y no hay un código más concreto.

    RFC 9110

  • 501

    Not Implemented · No implementado

    El servidor no admite la funcionalidad necesaria, por ejemplo un método que no conoce.

    RFC 9110

  • 502

    Bad Gateway · Puerta de enlace incorrecta

    Un proxy o pasarela recibió una respuesta no válida del servidor de detrás.

    RFC 9110

  • 503

    Service Unavailable · Servicio no disponible

    El servidor no puede atender ahora, por sobrecarga o mantenimiento. Retry-After puede indicar cuándo volver.

    RFC 9110

  • 504

    Gateway Timeout · Tiempo de espera de la pasarela agotado

    Un proxy o pasarela no recibió respuesta a tiempo del servidor de detrás.

    RFC 9110

  • 505

    HTTP Version Not Supported · Versión de HTTP no admitida

    El servidor no admite la versión de HTTP de la petición.

    RFC 9110

  • 506

    Variant Also Negotiates · La variante también negocia

    Error de configuración en la negociación de contenido: la variante elegida vuelve a negociar.

    RFC 2295

  • 507

    Insufficient Storage · Almacenamiento insuficiente

    WebDAV: el servidor no tiene espacio para guardar lo que se pide.

    RFC 4918

  • 508

    Loop Detected · Bucle detectado

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

    RFC 5842

  • 510

    Not Extended · No extendido Histórico

    Histórico: la petición necesitaba extensiones que el servidor no admite.

    RFC 2774

  • 511

    Network Authentication Required · Autenticación de red requerida

    Hay que iniciar sesión en la red para salir a internet, como en el wifi de un hotel o un aeropuerto.

    RFC 6585

Cómo funciona

Cómo funciona

Cada respuesta HTTP empieza por un código de tres cifras que resume qué ha pasado. La primera cifra indica la familia: 1xx informativos, 2xx éxito, 3xx redirecciones, 4xx errores del cliente y 5xx errores del servidor. Aquí tienes todos los códigos del registro de IANA con su nombre oficial en inglés, su nombre en español, una explicación corta, cuándo conviene usarlos y el RFC que los define.

Busca por número (escribe 40 para ver del 400 al 409) o por palabras en español o en inglés, sin preocuparte por las tildes. También puedes filtrar por familia y enlazar directamente a un código con #404 al final de la dirección.

Los que más se confunden

401 es «no sé quién eres» y 403, «sé quién eres y no puedes pasar». 400 es una petición mal formada y 422, una petición bien formada con datos que no pasan la validación. En las redirecciones, 307 y 308 conservan el método y el cuerpo, mientras que con 301 y 302 muchos clientes cambian un POST por un GET. El 418 es una broma de 1998 que RFC 9110 reserva para que nadie lo reutilice.

Preguntas frecuentes

¿Qué diferencia hay entre 401 y 403?

401 significa que no te has identificado o que tus credenciales no valen: volver a iniciar sesión puede arreglarlo. 403 significa que el servidor sabe quién eres y aun así no te deja pasar.

¿301 o 308? ¿302 o 307?

Los cuatro redirigen. 307 y 308 obligan a repetir la petición con el mismo método y cuerpo; con 301 y 302, muchos clientes convierten un POST en GET. Para cambios permanentes, 301 o 308; para temporales, 302 o 307.

↑ ↓ para moverte, Enter para abrir, Esc para cerrar

Atajos de teclado

Ctrl K/
Buscar herramienta
c
Copiar el resultado principal
1 … 9
Cambiar de pestaña
?
Mostrar esta ayuda