1. Inicio
  2. Herramientas para desarrolladores
  3. Códigos de estado HTTP

Códigos de estado HTTP

Busca cualquier código de respuesta HTTP por número o por palabra y descubre qué significa, cuándo lo devuelve un servidor y cómo actuar. Incluye todos los códigos registrados en el estándar, más los de WebDAV y algunos históricos.

Categoría
62 códigos
CódigoNombreSignificado
100Continue
Continuar
El servidor recibió las cabeceras y el cliente puede enviar el cuerpo de la petición (se usa con Expect: 100-continue).
101Switching Protocols
Cambiando de protocolo
El servidor acepta cambiar de protocolo, por ejemplo de HTTP a WebSocket.
102Processing
Procesando
WebDAV: la petición se está procesando y aún no hay respuesta. Hoy en desuso.
103Early Hints
Pistas tempranas
Envía cabeceras Link anticipadas para que el navegador precargue recursos mientras se genera la respuesta.
200OK
Correcto
La petición ha tenido éxito. Es la respuesta normal de una página que carga bien.
201Created
Creado
Se ha creado un recurso nuevo (típico tras un POST en una API). Suele incluir la cabecera Location.
202Accepted
Aceptado
La petición se aceptó, pero se procesará más tarde (tareas en cola).
203Non-Authoritative Information
Información no autoritativa
La respuesta fue modificada por un proxy respecto a la original.
204No Content
Sin contenido
Éxito sin cuerpo de respuesta; habitual en DELETE o al guardar sin devolver datos.
205Reset Content
Restablecer contenido
Éxito; el cliente debe limpiar el formulario o la vista.
206Partial Content
Contenido parcial
Se devuelve solo un rango del archivo (cabecera Range): descargas reanudables y vídeo.
207Multi-Status
Multiestado
WebDAV: el cuerpo contiene varios códigos de estado para distintas operaciones.
208Already Reported
Ya informado
WebDAV: miembros ya listados en una respuesta anterior.
226IM Used
IM usado
El servidor aplicó manipulaciones de instancia (codificación delta) a la respuesta.
300Multiple Choices
Múltiples opciones
Hay varias representaciones del recurso y el cliente debe elegir. Poco usado.
301Moved Permanently
Movido permanentemente
Redirección permanente: el recurso tiene una nueva URL definitiva. Los buscadores transfieren la relevancia a la nueva dirección.
302Found
Encontrado (redirección temporal)
Redirección temporal. Los navegadores suelen cambiar POST a GET al seguirla.
303See Other
Ver otro
Redirige a otra URL con GET; se usa tras enviar un formulario (patrón POST-redirect-GET).
304Not Modified
No modificado
El recurso no ha cambiado desde la versión en caché; no se envía de nuevo el cuerpo.
305Use Proxy
Usar proxy
Obsoleto por motivos de seguridad.
307Temporary Redirect
Redirección temporal
Como 302, pero obliga a repetir la petición con el mismo método y cuerpo.
308Permanent Redirect
Redirección permanente
Como 301, pero conservando el método (un POST sigue siendo POST).
400Bad Request
Petición incorrecta
La petición está mal formada: JSON inválido, parámetros erróneos, cabeceras corruptas.
401Unauthorized
No autorizado
Falta autenticación o las credenciales no son válidas. Debe acompañarse de WWW-Authenticate.
402Payment Required
Pago requerido
Reservado para uso futuro; algunas API lo usan cuando falta un pago o se agotó el crédito.
403Forbidden
Prohibido
El servidor entiende la petición pero se niega a atenderla: el usuario no tiene permiso, aunque esté identificado.
404Not Found
No encontrado
No existe ningún recurso en esa URL. Es el error más común de la web.
405Method Not Allowed
Método no permitido
El método (GET, POST, PUT…) no está admitido para esa URL. Debe indicar los permitidos en Allow.
406Not Acceptable
No aceptable
No hay una representación que cumpla las cabeceras Accept del cliente.
407Proxy Authentication Required
Autenticación de proxy requerida
Como 401, pero la autenticación la pide un proxy.
408Request Timeout
Tiempo de espera agotado
El cliente tardó demasiado en enviar la petición completa.
409Conflict
Conflicto
La petición choca con el estado actual del recurso (edición simultánea, registro duplicado).
410Gone
Eliminado
El recurso existió pero se eliminó de forma permanente. Los buscadores lo retiran antes que un 404.
411Length Required
Longitud requerida
Falta la cabecera Content-Length.
412Precondition Failed
Falló la precondición
No se cumple una condición de las cabeceras (If-Match, If-Unmodified-Since).
413Content Too Large
Contenido demasiado grande
El cuerpo supera el límite del servidor (por ejemplo, al subir un archivo muy pesado).
414URI Too Long
URI demasiado larga
La URL es más larga de lo que el servidor acepta.
415Unsupported Media Type
Tipo de contenido no admitido
El formato del cuerpo (Content-Type) no es compatible, p. ej. enviar XML a una API que espera JSON.
416Range Not Satisfiable
Rango no satisfactorio
El rango solicitado está fuera del tamaño del archivo.
417Expectation Failed
Expectativa fallida
El servidor no puede cumplir la cabecera Expect.
418I'm a teapot
Soy una tetera
Broma del 1 de abril de 1998 (RFC 2324). Algunos servicios lo usan para rechazar bots.
421Misdirected Request
Petición mal dirigida
La petición llegó a un servidor que no puede responder para ese dominio (HTTP/2 y certificados compartidos).
422Unprocessable Content
Contenido no procesable
La sintaxis es correcta pero los datos no superan la validación (campo obligatorio vacío, email inválido).
423Locked
Bloqueado
WebDAV: el recurso está bloqueado.
424Failed Dependency
Dependencia fallida
WebDAV: falló porque falló otra operación de la que dependía.
425Too Early
Demasiado pronto
El servidor no procesa una petición que podría repetirse (datos tempranos de TLS 1.3).
426Upgrade Required
Actualización requerida
El cliente debe cambiar a otro protocolo, indicado en Upgrade.
428Precondition Required
Precondición requerida
El servidor exige peticiones condicionales para evitar sobrescrituras.
429Too Many Requests
Demasiadas peticiones
Se superó el límite de peticiones (rate limit). La cabecera Retry-After indica cuándo reintentar.
431Request Header Fields Too Large
Cabeceras demasiado grandes
Las cabeceras (a menudo las cookies) son demasiado grandes.
451Unavailable For Legal Reasons
No disponible por motivos legales
El contenido está bloqueado por orden legal o censura. El número alude a «Fahrenheit 451».
500Internal Server Error
Error interno del servidor
Error genérico en el servidor: excepción no controlada, fallo de configuración o de código.
501Not Implemented
No implementado
El servidor no admite la funcionalidad necesaria (por ejemplo, un método desconocido).
502Bad Gateway
Puerta de enlace incorrecta
Un proxy o CDN recibió una respuesta inválida del servidor de origen (caído o mal configurado).
503Service Unavailable
Servicio no disponible
El servidor está sobrecargado o en mantenimiento. Es temporal; puede incluir Retry-After.
504Gateway Timeout
Tiempo de espera de la puerta de enlace
El proxy o CDN no recibió respuesta del origen a tiempo.
505HTTP Version Not Supported
Versión de HTTP no compatible
El servidor no admite la versión de HTTP de la petición.
506Variant Also Negotiates
La variante también negocia
Error de configuración en la negociación de contenido.
507Insufficient Storage
Almacenamiento insuficiente
WebDAV: no hay espacio para completar la operación.
508Loop Detected
Bucle detectado
WebDAV: se detectó un bucle infinito al procesar.
510Not Extended
No extendido
Faltan extensiones requeridas en la petición. Obsoleto.
511Network Authentication Required
Autenticación de red requerida
Hay que identificarse para acceder a la red: portales cautivos de wifi en hoteles y aeropuertos.

Cómo usar esta lista

Escribe el número (por ejemplo 50 muestra todos los que empiezan por 50) o una palabra clave en español o inglés, como «caché», «redirección» o «timeout». Los botones filtran por familia. Cada fila muestra el nombre oficial en inglés, tal como aparece en las herramientas de desarrollo del navegador y en los registros del servidor, y su traducción.

Las cinco familias de códigos

  • 1xx, informativas: respuestas provisionales; la petición continúa.
  • 2xx, éxito: la petición se recibió, entendió y aceptó.
  • 3xx, redirección: hace falta otra acción, normalmente ir a otra URL.
  • 4xx, error del cliente: la petición tiene un problema (URL inexistente, falta de permisos, datos inválidos). Repetirla igual no servirá.
  • 5xx, error del servidor: la petición parecía válida, pero el servidor falló. Puede funcionar más tarde.

Los nombres siguen el estándar actual de HTTP (RFC 9110). Algunos se renombraron: el antiguo «Request Entity Too Large» es ahora 413 «Content Too Large» y el 422 pasó de «Unprocessable Entity» a «Unprocessable Content».

Los códigos más importantes, explicados

200 OK

Todo ha ido bien. Ojo con los «soft 404»: páginas de error que devuelven 200. Google las detecta y las trata como errores, así que una página inexistente debe devolver 404 o 410.

301 y 308: redirección permanente

Úsalas al cambiar URL o migrar dominio. Evita cadenas (A → B → C) y bucles: cada salto añade latencia. Para revisar el destino y sus parámetros, el analizador de URL descompone cada dirección.

304 Not Modified

No es un error: indica que el navegador puede usar su copia en caché. Un sitio bien configurado devuelve muchos 304 en visitas repetidas, lo que ahorra datos y acelera la carga.

401, 403 y 404

401 = no identificado; 403 = identificado pero sin permiso (o bloqueado por el servidor, un WAF o los permisos de archivos; revisa los valores con la calculadora chmod); 404 = no existe. Algunas API devuelven 404 en lugar de 403 para no revelar que un recurso existe.

429 Too Many Requests

Límite de frecuencia. En tus integraciones, respeta Retry-After y aplica reintentos con espera exponencial (1 s, 2 s, 4 s…).

500, 502, 503 y 504

500 es un fallo de la propia aplicación; 502 y 504 suelen aparecer cuando hay un proxy, balanceador o CDN delante y el servidor de origen falla o tarda; 503 indica sobrecarga o mantenimiento. Para mantenimientos planificados, devuelve 503 con Retry-After: los buscadores entienden que es temporal y no retiran las páginas del índice. Si el problema afecta a /robots.txt, Google puede detener el rastreo; tienes más detalles en el generador de robots.txt.

Códigos recomendados en una API REST

OperaciónÉxitoErrores típicos
GET de un recurso200404, 401, 403
POST para crear201400, 409, 422
PUT / PATCH200 o 204400, 404, 409, 412
DELETE204404, 403
Tarea asíncrona202429, 503

Acompaña los errores de un cuerpo JSON con un mensaje claro; puedes revisarlo con formatear JSON. Y si un 401 se debe a un token caducado, decodificar JWT te muestra su fecha de expiración.

Preguntas frecuentes

¿Qué diferencia hay entre un error 401 y un 403?

El 401 indica que no te has identificado o que tus credenciales no son válidas: iniciar sesión puede resolverlo. El 403 significa que el servidor sabe quién eres, pero no tienes permiso para ese recurso.

¿Es mejor usar 301 o 302 para una redirección?

Usa 301 (o 308) cuando el cambio de URL es definitivo, por ejemplo al migrar un dominio: los buscadores trasladan la relevancia a la nueva dirección. Usa 302 (o 307) para redirecciones temporales, como una página de mantenimiento.

¿Un error 404 perjudica el SEO?

No por sí mismo: es normal que existan URL que ya no están. Lo que conviene evitar son los enlaces internos rotos y los 404 en páginas que tenían tráfico o enlaces; en ese caso, redirige con un 301 a la página equivalente.

¿Qué hago si veo un error 500 en una web?

Como visitante, solo puedes recargar más tarde: el problema está en el servidor. Si la web es tuya, revisa el registro de errores (error.log o el de PHP/Node), los últimos cambios de código o plugins y los permisos de archivos.

¿Qué significa el error 429?

Que has hecho demasiadas peticiones en poco tiempo y el servidor te limita. Espera el tiempo indicado en la cabecera Retry-After o reduce la frecuencia de tus llamadas a la API.