Códigos de estado HTTP

La referencia completa de los códigos de estado de respuesta HTTP: qué significa cada código, cuándo lo envían los servidores y cómo reaccionar — para depurar solicitudes, documentar APIs y revisar registros de servidor.

Usa los enlaces de salto para moverte entre clases de respuesta, o abre las guías detalladas para los códigos más comunes.

Tabla de códigos de respuesta HTTP

Code Name Meaning
1xx Informativos
100 Continue El servidor recibió las cabeceras de la solicitud y el cliente debería enviar el cuerpo de la solicitud.
101 Switching Protocols El servidor acepta cambiar al protocolo solicitado en la cabecera Upgrade.
102 Processing El servidor aceptó la solicitud completa pero aún no la ha completado (WebDAV).
103 Early Hints Cabeceras preliminares, principalmente sugerencias de precarga Link, enviadas antes de la respuesta final.
2xx Éxito
200 OK La solicitud tuvo éxito y la respuesta lleva la representación solicitada.
201 Created La solicitud tuvo éxito y se creó un nuevo recurso, normalmente indicado en Location.
202 Accepted La solicitud fue aceptada para un procesamiento asíncrono que aún no ha terminado.
203 Non-Authoritative Information La respuesta fue modificada por un proxy transformador en el camino.
204 No Content La solicitud tuvo éxito y deliberadamente no hay cuerpo de respuesta.
205 Restablecer Content La solicitud tuvo éxito y el cliente debería restablecer la vista del documento o formulario.
206 Partial Content La respuesta entrega solo el rango de bytes solicitado con la cabecera Range.
3xx Redirección
300 Multiple Choices Existen varias representaciones y el cliente debería elegir una de ellas.
301 Moved Permanently El recurso tiene una nueva URL permanente y los enlaces deberían actualizarse.
302 Found El recurso vive temporalmente en una URL diferente; sigue usando la original.
303 See Other El resultado está disponible en otra URL y debería obtenerse con GET.
304 Not Modified La copia en caché sigue siendo válida, así que no se envía el cuerpo de nuevo.
307 Temporary Redirect Redirección temporal que debe conservar el método HTTP y el cuerpo originales.
308 Permanent Redirect Redirección permanente que debe conservar el método HTTP y el cuerpo originales.
4xx Errores de Cliente
400 Bad Request El servidor no puede procesar la solicitud porque está malformada.
401 Unauthorized Se requieren credenciales de autenticación válidas y faltan o son incorrectas.
402 Payment Required Estado reservado, usado en la práctica por algunas APIs para límites de facturación.
403 Forbidden El servidor entendió la solicitud pero se niega a autorizarla.
404 Not Found No existe ningún recurso en la URL solicitada.
405 Method Not Allowed La URL existe pero no admite este método HTTP.
406 Not Acceptable Ninguna representación coincide con las cabeceras de negociación Accept.
407 Proxy Authentication Required El cliente debe autenticarse primero con el proxy.
408 Request Timeout El servidor cerró la conexión porque la solicitud tardó demasiado en llegar.
409 Conflict La solicitud entra en conflicto con el estado actual del recurso, por ejemplo una colisión de edición.
410 Gone El recurso fue eliminado deliberadamente y no volverá.
411 Length Required La solicitud debe incluir una cabecera Content-Length.
412 Precondition Failed Una cabecera condicional como If-Match se evaluó como falsa.
413 Content Too Large El cuerpo de la solicitud excede el tamaño que acepta el servidor.
414 URI Too Long La URL de la solicitud es más larga de lo que el servidor puede procesar.
415 Unsupported Media Type El formato del cuerpo de la solicitud no es compatible con este recurso.
416 Range Not Satisfiable El rango de bytes solicitado está fuera del tamaño del recurso.
417 Expectation Failed No se pudo cumplir la cabecera de solicitud Expect.
418 I'm a teapot Un estado de broma del Día de los Inocentes de la RFC 2324; algunas APIs lo usan como huevo de pascua.
421 Misdirected Request La solicitud llegó a un servidor que no puede producir una respuesta para esta autoridad.
422 Unprocessable Content La solicitud está bien formada pero es semánticamente inválida, algo común en la validación REST.
425 Too Early El servidor se niega a procesar una solicitud que podría ser repetida (datos tempranos de TLS).
426 Upgrade Required El cliente debe cambiar a un protocolo diferente según lo indicado en Upgrade.
428 Precondition Required El servidor requiere una solicitud condicional para evitar actualizaciones perdidas.
429 Too Many Requests El cliente excedió un límite de solicitudes; Retry-After indica cuándo volver a intentarlo.
431 Request Header Fields Too Large Las cabeceras, a menudo cookies, exceden los límites de tamaño del servidor.
451 Unavailable For Legal Reasons El acceso está bloqueado por razones legales, como órdenes judiciales.
5xx Errores de Servidor
500 Internal Server Error El servidor encontró un error inesperado al manejar la solicitud.
501 Not Implemented El servidor no reconoce ni admite el método de la solicitud.
502 Bad Gateway Una puerta de enlace o proxy recibió una respuesta inválida del servidor de origen.
503 Service Unavailable El servidor no puede atender solicitudes temporalmente, debido a sobrecarga o mantenimiento.
504 Gateway Timeout Una puerta de enlace o proxy se cansó de esperar al servidor de origen.
505 HTTP Version Not Supported El servidor no admite la versión del protocolo HTTP utilizada.
506 Variant Also Negotiates Una configuración incorrecta de negociación de contenido en el servidor.
507 Insufficient Storage El servidor no puede almacenar lo necesario para completar la solicitud (WebDAV).
508 Loop Detected El servidor detectó un bucle infinito durante el procesamiento (WebDAV).
510 Not Extended La solicitud necesita extensiones adicionales que no se proporcionaron.
511 Network Authentication Required La red (por ejemplo, un portal cautivo) requiere autenticación primero.

1xx Informativos

Las respuestas informativas confirman que la solicitud fue recibida y que el cliente puede continuar. Son provisionales: siempre sigue un estado final. El que realmente encontrarás en la práctica es 103 Early Hints, que permite a los servidores enviar sugerencias de precarga antes de que la respuesta completa esté lista.

2xx Éxito

Las respuestas de éxito significan que la solicitud fue entendida y aceptada. 200 OK lleva el resultado en el cuerpo, 201 Created anuncia un nuevo recurso, y 204 No Content confirma el éxito sin nada que devolver, deliberadamente.

3xx Redirección

Las respuestas de redirección envían al cliente a otro lugar. La distinción clave es la permanencia — 301/308 son permanentes, 302/307 temporales — y si el método HTTP debe conservarse (307/308) o puede cambiar a GET (301/302). 304 Not Modified es el caso especial que hace posible el cacheo del navegador.

4xx Errores de Cliente

Los errores de cliente significan que la solicitud misma fue rechazada. Los habituales: 400 solicitud malformada, 401 autenticación requerida, 403 acceso denegado, 404 nada en esta URL y 429 límite de solicitudes excedido.

5xx Errores de Servidor

Los errores de servidor significan que el servidor falló en una solicitud que pudo ser perfectamente válida. 500 es un fallo de la aplicación, 502 y 504 son proxies reportando un origen roto o silencioso, y 503 es una indisponibilidad temporal deliberada.

Cómo leer un código de estado

El primer dígito es la clase: 1xx informativo, 2xx éxito, 3xx redirección, 4xx error de cliente, 5xx error de servidor. Un cliente que encuentra un código desconocido puede recurrir de forma segura a tratarlo como el código x00 de su clase — así es como los nuevos códigos mantienen la compatibilidad hacia atrás. Al depurar, revisa siempre las cabeceras de respuesta junto al código: Location explica las redirecciones, Allow explica el 405, Retry-After explica el 429 y el 503.

Ejemplos

200 OK                    — page served normally
301 Moved Permanently     — URL changed for good, follow Location
304 Not Modified          — your cached copy is still valid
404 Not Found             — nothing exists at this URL
429 Too Many Requests     — rate limit hit, wait Retry-After seconds
503 Service Unavailable   — temporary downtime or maintenance

Preguntas frecuentes

¿Qué es HTTP 404?

HTTP 404 significa que el recurso solicitado no pudo encontrarse en la URL especificada. Consulta la guía detallada de 404 para conocer causas, soluciones e impacto en el SEO.

¿Cuál es la diferencia entre 301 y 302?

Una redirección 301 es permanente — los enlaces y los motores de búsqueda deben actualizarse a la nueva URL. Un 302 indica un traslado temporal donde la URL original sigue siendo la canónica.

¿Qué significa 503?

HTTP 503 significa que el servicio no está disponible temporalmente, normalmente por mantenimiento o sobrecarga, y el cliente debería reintentar tras una espera.

¿Cuál es la diferencia entre 401 y 403?

401 significa que el servidor necesita credenciales de autenticación válidas. 403 significa que sabe quién eres y aun así rechaza el acceso — volver a iniciar sesión no ayudará.

¿Cuál es la diferencia entre 502 y 504?

Ambos provienen de un proxy que habla con un servidor de origen: 502 significa que el origen devolvió una respuesta inválida, 504 significa que nunca respondió dentro del tiempo límite.

¿Qué códigos de estado importan más para el SEO?

200 marca páginas indexables, 301/308 transfieren el posicionamiento en traslados permanentes, 404/410 eliminan URLs muertas y 503 protege el posicionamiento durante caídas cuando se sirve con Retry-After.