Códigos de Estado HTTP
Guía de referencia de códigos de estado HTTP con descripciones. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registrarte.
Actualizado
HTTP Status Codes
Complete reference of all HTTP status codes — search, filter by category, view mnemonics, compare similar codes, troubleshooting guides, REST best practices, RFC references, and header examples.
Continue
The server has received the request headers and the client should proceed to send the request body.
"100 Continue" — server says "keep going, I'm listening"
Switching Protocols
The server is switching protocols as requested by the client (e.g., upgrading to WebSocket).
"101" — one protocol becomes another
Processing
The server has received and is processing the request, but no response is available yet.
"102" — still chewing, haven't swallowed yet
Early Hints
Used to return some response headers before the final HTTP message, allowing resource preloading.
"103 Early Hints" — the server sends you a shopping list before the store opens
OK
The request was successful. The meaning depends on the HTTP method used.
"200 OK" — everything's fine, here's your data
Created
The request was successful and a new resource was created as a result.
"201 Created" — a new resource was born
Accepted
The request has been accepted for processing, but the processing has not been completed.
"202 Accepted" — your ticket is in the queue
No Content
The server has successfully processed the request but is not returning any content.
"204 No Content" — done, nothing to show
Partial Content
The server is delivering only part of the resource in response to a Range request.
"206 Partial" — only part of the file, just what you asked for
Multi-Status
A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.
"207 Multi-Status" — here are everyone's individual results
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
"301 Moved Permanently" — I've moved and given you my new forwarding address
Found
The URI of the requested resource has been changed temporarily.
"302 Found" — it's temporarily over there
See Other
The server is redirecting the user agent to a different resource, as indicated by the Location header.
"303 See Other" — go look at that other page via GET
Not Modified
There is no need to retransmit the requested resources. The client can use cached data.
"304 Not Modified" — nothing changed, use your cache
Temporary Redirect
The server sends this response to direct the client to get the requested resource at another URI with the same method.
"307" — temporary detour, same vehicle (method)
Permanent Redirect
The resource is now permanently located at another URI. Method is preserved unlike 301.
"308" — permanently moved AND method preserved
Bad Request
The server cannot or will not process the request due to something perceived to be a client error.
"400 Bad Request" — you sent gibberish
Unauthorized
The request lacks valid authentication credentials for the target resource.
"401 Unauthorized" — show me your ID
Forbidden
The server understood the request but refuses to authorize it.
"403 Forbidden" — I know who you are, but you can't come in
Not Found
The server cannot find the requested resource. The URL is not recognized.
"404 Not Found" — this page does not exist
Method Not Allowed
The request method is known by the server but is not supported by the target resource.
"405 Method Not Allowed" — you're knocking on the wrong door type
Request Timeout
The server would like to shut down this unused connection. Sent when server times out waiting for client.
"408" — you took too long to finish your sentence
Conflict
The request could not be completed due to a conflict with the current state of the target resource.
"409 Conflict" — two things are fighting over the same space
Gone
The target resource is no longer available at the origin server and this condition is likely to be permanent.
"410 Gone" — it existed once, but it's gone forever
Precondition Failed
The server does not meet one of the preconditions in the request header fields.
"412" — the conditions you set weren't met
Content Too Large
The request entity is larger than limits defined by server.
"413 Too Large" — your suitcase is too big for the overhead bin
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
"414 URI Too Long" — your address label is a novel
Unsupported Media Type
The media format of the requested data is not supported by the server.
"415 Unsupported Media Type" — I don't speak that language
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
"422" — grammatically correct but logically wrong
Locked
The resource that is being accessed is locked.
"423 Locked" — someone else has checked this out
Failed Dependency
The method could not be performed on the resource because the requested action depended on another action and that action failed.
"424" — the domino that came before you fell
Too Early
Indicates that the server is unwilling to risk processing a request that might be replayed.
"425 Too Early" — not yet, the security handshake isn't done
Upgrade Required
The server refuses to perform the request using the current protocol but might after an upgrade.
"426" — you need a better version to enter
Precondition Required
The origin server requires the request to be conditional.
"428" — you need to show conditions before we proceed
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
"429 Too Many" — slow down, you're flooding us
Request Header Fields Too Large
The server is unwilling to process the request because its header fields are too large.
"431" — your luggage has too many labels on it
Unavailable For Legal Reasons
The user-agent requested a resource that cannot legally be provided.
"451" — reference to Fahrenheit 451, the book about censorship
Internal Server Error
The server has encountered a situation it doesn't know how to handle.
"500" — something exploded in the engine room
Not Implemented
The request method is not supported by the server and cannot be handled.
"501" — feature not built yet
Bad Gateway
The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
"502 Bad Gateway" — the middleman got a bad answer
Service Unavailable
The server is not ready to handle the request. Common causes: maintenance or overload.
"503 Service Unavailable" — closed for maintenance, back soon
Gateway Timeout
The server is acting as a gateway and cannot get a response in time from the upstream server.
"504 Gateway Timeout" — the upstream server went radio silent
HTTP Version Not Supported
The HTTP version used in the request is not supported by the server.
"505" — incompatible versions
Variant Also Negotiates
The server has an internal configuration error: transparent content negotiation results in a circular reference.
"506" — the signpost points to another signpost
Insufficient Storage
The server is unable to store the representation needed to complete the request.
"507" — the hard drive is full
Loop Detected
The server detected an infinite loop while processing the request.
"508" — the snake is eating its own tail
Not Extended
Further extensions to the request are required for the server to fulfill it.
"510" — you need extra plugins installed
Network Authentication Required
The client needs to authenticate to gain network access (captive portal).
"511" — you need to log into the WiFi first
Client Closed Request
A non-standard code used by nginx to indicate that the client closed the connection before the server answered.
"499" — client hung up mid-sentence (nginx-specific)
Web Server Returns Unknown Error
Cloudflare-specific. The origin server returned an unexpected response.
"520" — Cloudflare has no idea what your server said
Web Server Is Down
Cloudflare-specific. The origin server refused connections.
"521" — Cloudflare knocked, nobody home
Connection Timed Out
Cloudflare-specific. Cloudflare timed out contacting the origin server.
"522" — Cloudflare waited too long
A Timeout Occurred
Cloudflare-specific. Cloudflare established a TCP connection but the origin did not send a response in time.
"524" — Cloudflare waited, origin stayed silent
Related Tools
Preguntas Frecuentes
¿Cuál es la diferencia entre un código de estado 401 y uno 403?
Ambos son errores 4xx del cliente relacionados con el acceso, pero significan cosas distintas. Un 401 Unauthorized significa que no estás autenticado: el servidor no sabe quién eres, así que debes enviar credenciales válidas, como un token de inicio de sesión o una clave de API, e intentarlo de nuevo. Un 403 Forbidden significa que estás autenticado pero no autorizado: el servidor sabe quién eres y se niega deliberadamente, así que volver a enviar credenciales no servirá de nada — necesitas permisos distintos o un cambio de rol. Devolver el código equivocado confunde a los clientes, porque un 401 invita a reintentar con inicio de sesión mientras que un 403 les indica que se detengan. Esta referencia tiene una vista de comparación dedicada que coloca estos códigos parecidos uno junto al otro. Busca 401 o 403 arriba para leer las causas y soluciones completas de cada código.
¿Cuándo debo usar una redirección 301 en lugar de una 308?
Tanto 301 Moved Permanently como 308 Permanent Redirect indican a los clientes que un recurso se mudó de forma definitiva y que deben actualizar marcadores y enlaces. La diferencia clave está en el manejo del método. Con un 301, algunos clientes pueden convertir un POST en un GET al seguir la redirección, lo que puede eliminar silenciosamente el cuerpo de la petición. Un 308 garantiza que el método y el cuerpo originales se conserven, lo que lo hace la opción más segura para migraciones de API y para cualquier petición que no sea GET. Para traslados de página comunes que los motores de búsqueda deben seguir, un 301 sigue siendo el estándar bien entendido y transmite las señales de posicionamiento. Elegir mal puede romper el envío de formularios o perder autoridad de enlace. Esta referencia lista ambos códigos con ejemplos de respuesta y menciona la RFC que los rige. Busca 301 o 308 arriba, o abre la vista de comparación para verlos contrastados directamente.
¿Por qué un servidor devuelve un 502 en lugar de un 504?
Ambos son errores 5xx del servidor que involucran una puerta de enlace o proxy inverso, como nginx o Cloudflare, situado delante de tu aplicación, pero describen fallos diferentes. Un 502 Bad Gateway significa que el proxy llegó al servidor de origen pero recibió una respuesta inválida o vacía — a menudo porque el backend se cayó, devolvió datos corruptos o cerró la conexión. Un 504 Gateway Timeout significa que el proxy llegó al origen, pero este tardó demasiado en responder, así que el proxy dejó de esperar. La pista práctica: un 502 suele señalar un backend roto o caído, mientras que un 504 señala uno lento, así que investigas caídas frente a latencia y límites de tiempo de espera. Esta referencia cataloga ambos con causas comunes y pasos de solución. Busca 502 o 504 arriba para ver cada uno explicado.
¿Cuál es la diferencia entre un código de estado 404 y uno 410?
Un 404 Not Found significa que el recurso no está disponible en este momento, pero el servidor no promete nada sobre el futuro — podría volver a aparecer, así que los clientes y los motores de búsqueda siguen comprobando. Un 410 Gone es una señal más fuerte y deliberada: el recurso fue eliminado de forma intencional y permanente y no volverá. Para el SEO esto importa, porque un 410 le indica a los motores de búsqueda que dejen de solicitar la URL y la desindexen más rápido, mientras que un 404 deja la puerta abierta. Usa 410 cuando hayas retirado una página a propósito, una campaña vencida o contenido eliminado; usa 404 para errores tipográficos y recursos genuinamente inexistentes. Devolver el correcto mantiene limpio el presupuesto de rastreo y los registros. Esta referencia explica ambos códigos y los empareja en su vista de comparación. Busca 404 o 410 arriba para leer los detalles completos.
¿Qué significan las cinco categorías de códigos de estado HTTP?
Todo código de respuesta HTTP cae en una de cinco familias, indicada por su primer dígito. 1xx Informativo significa que la petición fue recibida y el procesamiento continúa, como en 100 Continue. 2xx Éxito significa que la petición fue entendida y aceptada, con 200 OK como caso por defecto y 201 Created o 204 No Content para casos específicos. 3xx Redirección significa que se necesita una acción adicional, normalmente siguiendo un encabezado Location, como ocurre con 301 y 302. 4xx Error del cliente significa que la petición en sí tenía un problema — sintaxis incorrecta, credenciales faltantes o un recurso inexistente como 404. 5xx Error del servidor significa que el servidor no pudo completar una petición válida, desde 500 Internal Server Error hasta problemas de puerta de enlace. Conocer la familia te dice de inmediato si el problema está del lado del cliente o del servidor. Explora cualquier categoría arriba para aprender sus códigos antes de encontrártelos en medio de una caída del servicio.
Herramientas Relacionadas
Generador de Contraseñas Seguras Gratis
Genera contraseñas seguras y aleatorias con opciones personalizables. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Generador de UUID/GUID Gratis
Genera identificadores únicos universales (UUID/GUID). Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Generador de Códigos QR Gratis Online
Genera códigos QR para URLs, texto, credenciales WiFi y más. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Formateador y Validador de JSON Gratis
Formatea, valida y embellece datos JSON con resaltado de sintaxis y detección de errores. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Sobre la referencia de códigos de estado HTTP
Los códigos de estado HTTP son esos números de tres cifras que un servidor devuelve con cada respuesta web para indicar qué pasó: si una página cargó, si hubo una redirección, si el acceso fue denegado o si algo falló. Esta referencia reúne en un solo lugar consultable todos los códigos con los que probablemente te vas a topar, con explicaciones en lenguaje claro, ejemplos reales de respuesta, causas frecuentes y notas de cómo solucionarlos. Está pensada para desarrolladores, diseñadores de APIs, ingenieros de DevOps y cualquiera que esté depurando una petición y necesite saber qué significa realmente un 403, un 502 o un 308, y qué hacer al respecto.
La referencia cataloga más de 50 códigos de estado agrupados en las cinco familias oficiales, incluyendo las extensiones de WebDAV y algunos códigos no oficiales de proveedores (como el 520-524 de Cloudflare) que verás en los registros de producción pero no encontrarás en las RFC. La mayor parte de la herramienta funciona por completo en tu navegador, sin necesidad de registrarte. La única excepción es el Probador de estado de URL opcional, que envía la dirección que ingreses a través de un proxy CORS público para consultar su estado en vivo; por eso, usa esa función solo con URLs que te sientas cómodo enrutando a través de terceros.
Las cinco categorías de códigos de estado
Todo código de respuesta HTTP cae en uno de cinco rangos, indicado por su primer dígito:
- 1xx Informativo — la petición fue recibida y el proceso continúa (por ejemplo,
100 Continue,101 Switching Protocols). - 2xx Éxito — la petición fue recibida, entendida y aceptada.
200 OKes el caso por defecto;201 Createdsigue a un POST exitoso, y204 No Contentes habitual después de un DELETE. - 3xx Redirección — se necesita una acción adicional para completar la petición, normalmente siguiendo un encabezado
Location.301es un traslado permanente;302y307son temporales. - 4xx Error del cliente — la petición tenía un problema: sintaxis incorrecta (
400), credenciales faltantes (401), permisos insuficientes (403) o un recurso inexistente (404). - 5xx Error del servidor — el servidor no pudo completar una petición válida, desde un
500 Internal Server Errorgenérico hasta problemas de puerta de enlace como502y504.
Qué te ofrece cada entrada
Busca por número o palabra clave y haz clic en cualquier código para ver su detalle completo. Para cada estado obtienes una descripción clara, un caso de uso del mundo real, un ejemplo de respuesta HTTP o de cuerpo JSON, una lista de causas comunes y pasos prácticos para solucionarlo cuando el código señala un problema. Muchas entradas también citan la sección de la RFC que lo rige y enlazan a códigos relacionados. Puedes filtrar por una sola categoría, fijar los códigos que más consultas, o aislar solo las entradas de WebDAV y las no oficiales. Una vista de Referencia rápida imprimible condensa todo el conjunto en una hoja de trucos.
Aclarando los códigos que se prestan a confusión
Algunos códigos de estado parecen intercambiables pero significan cosas muy distintas, y elegir mal envía la señal equivocada a clientes, navegadores y motores de búsqueda. Una vista de comparación dedicada coloca los parecidos uno junto al otro:
- 401 frente a 403 —
401significa no autenticado (envía credenciales válidas);403significa autenticado pero sin permiso (volver a autenticarte no servirá de nada). - 301 frente a 308 — ambas son redirecciones permanentes, pero
301puede permitir que un POST se convierta en GET, mientras que308conserva el método original, lo que la hace más segura para migraciones de API. - 400 frente a 422 —
400es un problema a nivel de sintaxis (JSON malformado);422significa que el JSON es válido pero no cumple una regla de negocio, como un correo con formato incorrecto. - 404 frente a 410 —
404significa no encontrado, quizá más adelante;410 Gonesignifica eliminado de forma deliberada y permanente, una señal más fuerte para dejar de solicitarlo y desindexarlo. - 502 frente a 504 —
502 Bad Gatewayes una mala respuesta del origen;504 Gateway Timeoutsignifica que el origen tardó demasiado en responder.
Usa el buscador de arriba para ir directo a cualquier código, o navega por categoría para aprenderte la familia antes de necesitarla en medio de una caída del servicio.