tigtools

Códigos de estado HTTP

Consulta cualquier código de estado HTTP: qué significa, cuándo lo envían los servidores y qué especificación lo define. Busca por número o palabra clave, filtra por clase y enlaza directamente a un código.

Se ejecuta en tu navegador Sin registro

Se muestran 79 códigos

  • 100 Continue

    El servidor recibió los encabezados de la solicitud y el cliente puede enviar el cuerpo. Se ve cuando un cliente envía «Expect: 100-continue» antes de subir un cuerpo grande.

    Definido en RFC 9110

  • 101 Switching Protocols

    El servidor acepta cambiar al protocolo que el cliente solicitó en el encabezado Upgrade. Se ve cuando una conexión se actualiza a WebSocket.

    Definido en RFC 9110

  • 102 Processing

    Obsoleto o sin uso

    El servidor aceptó una solicitud WebDAV, pero todavía no la ha completado. Se eliminó de especificaciones WebDAV posteriores y hoy se usa muy poco.

    Definido en RFC 2518

  • 103 Early Hints

    Se envía antes de la respuesta final para que el navegador pueda empezar a precargar los recursos indicados en los encabezados Link. CDN y servidores lo usan para acelerar la carga de las páginas.

    Definido en RFC 8297

  • 200 OK

    La solicitud se completó correctamente y la respuesta contiene el resultado. Es la respuesta habitual al cargar una página o realizar una llamada API correctamente.

    Definido en RFC 9110

  • 201 Created

    La solicitud se completó correctamente y creó un recurso nuevo, normalmente identificado por el encabezado Location. Es habitual tras un POST que crea un registro.

    Definido en RFC 9110

  • 202 Accepted

    La solicitud se aceptó para su procesamiento, pero aún no ha terminado. Lo usan las API que ponen tareas en cola, como exportaciones o procesos por lotes.

    Definido en RFC 9110

  • 203 Non-Authoritative Information

    La solicitud se completó correctamente, pero un proxy que transforma el contenido modificó la respuesta del servidor de origen.

    Definido en RFC 9110

  • 204 No Content

    La solicitud se completó correctamente y no hay contenido que devolver. Es habitual en solicitudes DELETE y al guardar datos cuando el cliente no necesita un cuerpo de respuesta.

    Definido en RFC 9110

  • 205 Reset Content

    La solicitud se completó correctamente y el cliente debe restablecer la vista del documento, por ejemplo, borrar un formulario. Se usa poco.

    Definido en RFC 9110

  • 206 Partial Content

    El servidor devuelve solo el rango de bytes solicitado por el cliente. Se ve al reproducir videos en streaming, reanudar descargas o cuando un cliente envía un encabezado Range.

    Definido en RFC 9110

  • 207 Multi-Status

    Una respuesta WebDAV que incluye códigos de estado independientes para varios recursos en un cuerpo XML.

    Definido en RFC 4918

  • 208 Already Reported

    Se usa dentro de una respuesta WebDAV 207 para evitar volver a incluir los mismos miembros de un recurso vinculado.

    Definido en RFC 5842

  • 226 IM Used

    El servidor aplicó modificaciones de instancia (como una codificación delta) al recurso actual. Se ve muy pocas veces.

    Definido en RFC 3229

  • 300 Multiple Choices

    El recurso tiene varias representaciones y el cliente debe elegir una. En la práctica, se usa poco.

    Definido en RFC 9110

  • 301 Moved Permanently

    El recurso se trasladó permanentemente a la URL indicada en el encabezado Location. Los navegadores y motores de búsqueda actualizan sus enlaces; algunos clientes cambian POST por GET al seguir la redirección.

    Definido en RFC 9110

  • 302 Found

    El recurso está temporalmente en otra URL, indicada en el encabezado Location. Es habitual después de iniciar sesión y en redirecciones de corta duración; los navegadores suelen seguirla con GET.

    Definido en RFC 9110

  • 303 See Other

    El cliente debe obtener el resultado desde otra URL con GET. Se usa después de un POST de formulario para redirigir a una página de confirmación (el patrón Post/Redirect/Get).

    Definido en RFC 9110

  • 304 Not Modified

    La copia en caché sigue siendo válida, así que el servidor no envía un cuerpo. Se ve cuando un navegador vuelve a validar un archivo en caché con If-None-Match o If-Modified-Since.

    Definido en RFC 9110

  • 305 Use Proxy

    Obsoleto o sin uso

    Indicaba al cliente que usara un proxy especificado en el encabezado Location. Está obsoleto por motivos de seguridad y los navegadores lo ignoran.

    Definido en RFC 9110

  • 306 (Unused)

    Obsoleto o sin uso

    Reservado. Se usó en un borrador anterior de HTTP/1.1 y ya no se utiliza.

    Definido en RFC 9110

  • 307 Temporary Redirect

    El recurso está temporalmente en otra URL y el cliente debe repetir la solicitud con el mismo método y cuerpo. También lo usan los navegadores para redirecciones internas de HSTS a HTTPS.

    Definido en RFC 9110

  • 308 Permanent Redirect

    El recurso se ha trasladado de forma permanente y el cliente debe usar el mismo método y cuerpo en la nueva URL. Es la contraparte permanente del código 307 y permite redirigir solicitudes POST de forma segura.

    Definido en RFC 9110

  • 400 Bad Request

    El servidor no puede procesar la solicitud porque está mal formada; por ejemplo, contiene un JSON no válido, un parámetro de consulta incorrecto o una cookie dañada.

    Definido en RFC 9110

  • 401 Unauthorized

    La solicitud no incluye credenciales de autenticación válidas. Pese a su nombre, significa «no autenticado»; el servidor envía un encabezado WWW-Authenticate que indica cómo iniciar sesión.

    Definido en RFC 9110

  • 402 Payment Required

    Reservado para uso futuro en la especificación HTTP. Algunas API y servicios de pago lo usan cuando se requiere un pago o una suscripción.

    Definido en RFC 9110

  • 403 Forbidden

    El servidor entiende la solicitud, pero la rechaza; volver a iniciar sesión no servirá de ayuda. Puede aparecer si faltan permisos, la lista de directorios está desactivada o un firewall bloquea al cliente.

    Definido en RFC 9110

  • 404 Not Found

    El servidor no encuentra el recurso solicitado. Suele deberse a un enlace mal escrito o desactualizado, una página eliminada o una ruta de API incorrecta.

    Definido en RFC 9110

  • 405 Method Not Allowed

    El recurso existe, pero no admite el método HTTP utilizado; por ejemplo, una solicitud POST a una URL de solo lectura. La respuesta indica los métodos permitidos en el encabezado Allow.

    Definido en RFC 9110

  • 406 Not Acceptable

    El servidor no puede generar una respuesta en ninguno de los formatos indicados en los encabezados Accept del cliente.

    Definido en RFC 9110

  • 407 Proxy Authentication Required

    Es parecido al código 401, pero el cliente debe autenticarse primero con un proxy. Puede aparecer en redes corporativas que usan un proxy con autenticación.

    Definido en RFC 9110

  • 408 Request Timeout

    El servidor agotó el tiempo de espera mientras esperaba que el cliente terminara de enviar la solicitud. Puede ocurrir con conexiones lentas o interrumpidas.

    Definido en RFC 9110

  • 409 Conflict

    La solicitud entra en conflicto con el estado actual del recurso; por ejemplo, debido a un conflicto al editar o a que se intenta crear algo que ya existe.

    Definido en RFC 9110

  • 410 Gone

    El recurso se ha eliminado de forma permanente y no volverá a estar disponible. A diferencia del código 404, indica a los motores de búsqueda que eliminen la URL más rápido.

    Definido en RFC 9110

  • 411 Length Required

    El servidor requiere un encabezado Content-Length y la solicitud no lo incluyó.

    Definido en RFC 9110

  • 412 Precondition Failed

    No se cumplió una condición de los encabezados de la solicitud, como If-Match. Se usa para evitar sobrescribir un recurso que ha cambiado desde la última vez que lo consultó el cliente.

    Definido en RFC 9110

  • 413 Content Too Large

    El cuerpo de la solicitud supera el tamaño que acepta el servidor. Puede ocurrir al subir un archivo que supera un límite, como client_max_body_size de nginx.

    Definido en RFC 9110

  • 414 URI Too Long

    La URL es demasiado larga para que el servidor la procese. Suele deberse a que un formulario envía demasiados datos con GET o a un bucle de redirección que sigue añadiendo parámetros.

    Definido en RFC 9110

  • 415 Unsupported Media Type

    El servidor no admite el formato del cuerpo de la solicitud; por ejemplo, se envía XML a un endpoint que espera application/json.

    Definido en RFC 9110

  • 416 Range Not Satisfiable

    El rango de bytes solicitado en el encabezado Range queda fuera del tamaño del recurso.

    Definido en RFC 9110

  • 417 Expectation Failed

    El servidor no puede cumplir el requisito indicado en el encabezado Expect del cliente.

    Definido en RFC 9110

  • 418 I'm a teapot

    Una broma del Día de los Inocentes de 1998, basada en el protocolo Hyper Text Coffee Pot Control: una tetera que se niega a preparar café. HTTP reserva el código como no utilizado, pero algunos servidores lo devuelven como guiño o para rechazar bots no deseados.

    Definido en RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    No estándar

    No es un código estándar. Laravel lo devuelve cuando falta el token CSRF de un formulario o ha caducado, normalmente después de que expire una sesión.

    Definido en Laravel

  • 420 Enhance Your Calm

    No estándar

    No es un código estándar. La antigua API de Twitter lo usaba para limitar la frecuencia de solicitudes; el código estándar para esto es 429.

    Definido en Twitter API v1

  • 421 Misdirected Request

    La solicitud llegó a un servidor que no puede generar una respuesta para este host; por ejemplo, cuando se reutiliza una conexión HTTP/2 para otro dominio.

    Definido en RFC 9110

  • 422 Unprocessable Content

    La solicitud está bien formada, pero su contenido no es válido; por ejemplo, un formulario que no supera las reglas de validación. Las API lo usan ampliamente para indicar errores de validación.

    Definido en RFC 9110

  • 423 Locked

    El recurso WebDAV está bloqueado y no se puede modificar.

    Definido en RFC 4918

  • 424 Failed Dependency

    La solicitud WebDAV falló porque también falló otra acción de la que dependía.

    Definido en RFC 4918

  • 425 Too Early

    El servidor no procesará una solicitud que podría reproducirse, como una enviada en datos anticipados de TLS 1.3.

    Definido en RFC 8470

  • 426 Upgrade Required

    El servidor rechaza la solicitud con el protocolo actual e indica el protocolo necesario en el encabezado Upgrade.

    Definido en RFC 9110

  • 428 Precondition Required

    El servidor requiere una solicitud condicional (por ejemplo, con If-Match) para evitar que se pierdan actualizaciones.

    Definido en RFC 6585

  • 429 Too Many Requests

    El cliente ha enviado demasiadas solicitudes en un periodo determinado. Las API lo usan para limitar la frecuencia de solicitudes y suelen incluir un encabezado Retry-After que indica cuándo volver a intentarlo.

    Definido en RFC 6585

  • 431 Request Header Fields Too Large

    Los encabezados de la solicitud son demasiado grandes, a menudo porque hay demasiadas cookies o son demasiado pesadas. Borrar las cookies del sitio suele resolver el problema.

    Definido en RFC 6585

  • 444 No Response

    No estándar

    No es un código estándar. nginx lo usa internamente para cerrar la conexión sin enviar respuesta, a menudo para descartar tráfico no deseado; los clientes nunca lo reciben realmente.

    Definido en nginx

  • 451 Unavailable For Legal Reasons

    El recurso no está disponible por motivos legales, como una orden judicial o censura gubernamental. El número hace referencia a la novela Fahrenheit 451.

    Definido en RFC 7725

  • 494 Request Header Too Large

    No estándar

    No es un código estándar. Es una variante propia de nginx del código 431, que se registra cuando los encabezados de la solicitud superan los límites de sus búferes.

    Definido en nginx

  • 495 SSL Certificate Error

    No estándar

    No es un código estándar. nginx lo devuelve cuando no se puede verificar el certificado del cliente.

    Definido en nginx

  • 496 SSL Certificate Required

    No estándar

    No es un código estándar. nginx lo devuelve cuando no se proporciona un certificado de cliente obligatorio.

    Definido en nginx

  • 497 HTTP Request Sent to HTTPS Port

    No estándar

    No es un código estándar. nginx lo devuelve cuando se envía una solicitud HTTP sin cifrar a un puerto configurado para HTTPS.

    Definido en nginx

  • 499 Client Closed Request

    No estándar

    No es un código estándar. nginx lo registra cuando el cliente cierra la conexión antes de que responda el servidor; por ejemplo, si un usuario cancela la carga de una página lenta o se agota el tiempo de espera del cliente.

    Definido en nginx

  • 500 Internal Server Error

    El servidor encontró un error inesperado y no pudo completar la solicitud. Es un error genérico que puede deberse a un fallo de programación, una caída o una configuración incorrecta; los detalles están en los registros del servidor.

    Definido en RFC 9110

  • 501 Not Implemented

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

    Definido en RFC 9110

  • 502 Bad Gateway

    Una pasarela o un proxy recibió una respuesta no válida del servidor ascendente. Es habitual cuando la aplicación detrás de nginx o de un balanceador de carga se ha caído o se está reiniciando.

    Definido en RFC 9110

  • 503 Service Unavailable

    El servidor no puede atender la solicitud temporalmente porque está sobrecargado o en mantenimiento. Un encabezado Retry-After puede indicar cuándo volver a intentarlo.

    Definido en RFC 9110

  • 504 Gateway Timeout

    Una puerta de enlace o un proxy no recibió a tiempo una respuesta del servidor ascendente. Se produce cuando una solicitud al backend tarda demasiado, por ejemplo, por una consulta larga a la base de datos.

    Definido en RFC 9110

  • 505 HTTP Version Not Supported

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

    Definido en RFC 9110

  • 506 Variant Also Negotiates

    Error de configuración de negociación de contenido en el servidor: la variante elegida también está configurada para negociar.

    Definido en RFC 2295

  • 507 Insufficient Storage

    El servidor no puede almacenar lo necesario para completar la solicitud; por ejemplo, porque el disco de un servidor WebDAV está lleno.

    Definido en RFC 4918

  • 508 Loop Detected

    El servidor detuvo una operación de WebDAV al detectar un bucle infinito.

    Definido en RFC 5842

  • 509 Bandwidth Limit Exceeded

    No estándar

    No es un código estándar. Algunos servicios de alojamiento compartido (módulos de Apache, cPanel) lo usan cuando un sitio supera el límite de ancho de banda.

    Definido en Apache / cPanel

  • 510 Not Extended

    Obsoleto o sin uso

    La solicitud necesita extensiones adicionales para poder completarse. Lo define una especificación experimental que ahora se considera histórica.

    Definido en RFC 2774

  • 511 Network Authentication Required

    El cliente debe autenticarse para obtener acceso a la red. Lo envían los portales cautivos de redes Wi-Fi de hoteles, aeropuertos o cafeterías antes de iniciar sesión.

    Definido en RFC 6585

  • 520 Web Server Returned an Unknown Error

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando el servidor de origen envía una respuesta vacía, desconocida o inesperada.

    Definido en Cloudflare

  • 521 Web Server Is Down

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando el servidor de origen rechaza la conexión, normalmente porque el servidor web está caído o bloquea las direcciones IP de Cloudflare.

    Definido en Cloudflare

  • 522 Connection Timed Out

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando se agota el tiempo de espera de la conexión TCP con el servidor de origen.

    Definido en Cloudflare

  • 523 Origin Is Unreachable

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando no puede conectarse con el servidor de origen, por ejemplo, debido a un problema de DNS o de enrutamiento.

    Definido en Cloudflare

  • 524 A Timeout Occurred

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando se conecta con el servidor de origen, pero no recibe una respuesta HTTP dentro del tiempo de espera (100 segundos de forma predeterminada).

    Definido en Cloudflare

  • 525 SSL Handshake Failed

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando falla el protocolo de enlace SSL/TLS con el servidor de origen.

    Definido en Cloudflare

  • 526 Invalid SSL Certificate

    No estándar

    No es un código estándar. Cloudflare lo devuelve cuando el certificado SSL del servidor de origen no es válido y está activado el modo SSL Full (strict).

    Definido en Cloudflare

Cómo usarla

  1. Escribe un número de código (como 404 o solo 5 para todos los errores del servidor) o una palabra clave, como «redirección» o «tiempo de espera agotado».
  2. Filtra la lista por clase: informativo, éxito, redirección, error del cliente o error del servidor.
  3. Usa «Copiar enlace» en cualquier código para compartir un enlace directo, por ejemplo, en un informe de errores.

Cómo funciona

Toda respuesta HTTP empieza con un código de estado de tres dígitos. El primer dígito determina la clase: respuestas informativas 1xx, respuestas satisfactorias 2xx, redirecciones 3xx, errores causados por la solicitud 4xx y errores del servidor 5xx. Los clientes que no reconocen un código concreto lo tratan como el código x00 de su clase; por tanto, un código 4xx desconocido se gestiona como 400.

Los códigos principales se definen en RFC 9110 (HTTP Semantics, 2022), que sustituyó a la versión anterior, RFC 7231. Otros proceden de extensiones: WebDAV (RFC 4918), RFC 6585 para 428, 429, 431 y 511, RFC 7725 para 451 y RFC 8470 para 425. RFC 9110 también cambió el nombre de dos códigos: 413 ahora es “Content Too Large” y 422, “Unprocessable Content”. Es posible que todavía los veas con sus nombres anteriores: “Payload Too Large” y “Unprocessable Entity”.

Algunos códigos que aparecen en los registros no son estándares. nginx usa internamente 444 y 494–499 (499 indica que el cliente dejó de esperar), y Cloudflare devuelve 520–526 cuando no puede obtener una respuesta adecuada del servidor de origen. En la lista, estos aparecen marcados como «No estándar». Los textos descriptivos (como “Not Found”) se muestran en inglés, tal como aparecen en las especificaciones; HTTP/2 y HTTP/3 solo envían el número.

Ejemplos

301 o 308 al cambiar de sitio

Ambos son permanentes. Usa 301 para los cambios habituales de página; usa 308 cuando los clientes deban repetir las solicitudes POST o PUT en la nueva URL, ya que algunos clientes cambian POST por GET después de un 301.

401 frente a 403

Una API devuelve 401 cuando no se envía ningún token o se envía uno caducado, por lo que el cliente debe iniciar sesión. Devuelve 403 cuando el token es válido, pero el usuario no tiene permiso; en ese caso, volver a iniciar sesión no servirá de nada.

Diagnosticar un 502 detrás de nginx

Un error 502 Bad Gateway de nginx significa que la aplicación que hay detrás no respondió correctamente. Comprueba si el proceso de la aplicación está en ejecución y qué aparece en sus registros; un 504 significa que tardó demasiado en responder.

Preguntas frecuentes

¿Cuál es la diferencia entre 404 y 410?

404 significa que el servidor no encuentra el recurso y no indica nada sobre el futuro. 410 indica que el recurso se eliminó deliberadamente y no volverá, lo que ayuda a los motores de búsqueda a retirar la URL antes.

¿Un error de validación debe devolver 400 o 422?

Se usan ambos. 400 corresponde a solicitudes que el servidor no puede analizar, como un JSON mal formado. 422 corresponde a solicitudes que se analizan correctamente, pero contienen valores no válidos, como un campo de correo electrónico sin @.

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

Proviene de una RFC del Día de los Inocentes de 1998. La RFC 9110 reserva el código 418 para que no se asigne a otra cosa, y algunos servidores lo devuelven en broma, pero no tiene un significado estándar.

¿De dónde viene el código 499?

499 es específico de nginx. Aparece en los registros de nginx cuando el cliente cierra la conexión antes de que el servidor envíe una respuesta. El cliente nunca recibe un 499; normalmente indica respuestas lentas o tiempos de espera agotados en el cliente.

¿Los motores de búsqueda tratan un 302 igual que un 301?

Un 302 indica un cambio temporal, por lo que, al principio, los motores de búsqueda suelen mantener indexada la URL original. Si un 302 se mantiene durante mucho tiempo, Google puede tratarlo como una redirección permanente. Usa 301 o 308 para cambios permanentes.

Privacidad

La lista forma parte de la página. Las búsquedas y los filtros se aplican en tu navegador; los términos de búsqueda no se envían a ningún sitio ni se incluyen en las analíticas.