Códigos de estado HTTP
Explora los códigos por categoría. Despliega cualquier fila para ver un mensaje HTTP real de ejemplo para ese código.
1xxInformativas (Informational)
100ContinueEl cliente debería continuar enviando el cuerpo de la petición.Ejemplo
→ REQUEST
POST /uploads HTTP/1.1 Host: example.com Content-Length: 5242880 Expect: 100-continue
← RESPONSE
HTTP/1.1 100 Continue (client now streams the 5 MB body) HTTP/1.1 201 Created Location: /uploads/8f2c
101Switching ProtocolsEl servidor acepta cambiar de protocolo (p. ej. pasar a WebSocket).Ejemplo
→ REQUEST
GET /chat HTTP/1.1 Host: example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Sec-WebSocket-Version: 13
← RESPONSE
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
102ProcessingEntiende el código 102 Processing, cómo la respuesta evita los tiempos de espera del cliente en peticiones largas y su origen en WebDAV.Ejemplo
→ REQUEST
GET /sample.pdf HTTP/1.1 Host: example.com
103Early HintsEntiende 103 Early Hints y cómo este código acelera la carga de la página precargando recursos antes de que llegue la respuesta final.Ejemplo
→ REQUEST
GET /index.html HTTP/1.1 Host: example.com
2xxÉxito (Success)
200OKLa petición tuvo éxito; la respuesta contiene el recurso solicitado.Ejemplo
→ REQUEST
GET /products/42 HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 51 { "id": 42, "name": "Trailhead Boot", "price": 189 }
201CreatedLa petición tuvo éxito y se creó un nuevo recurso.Ejemplo
→ REQUEST
POST /products HTTP/1.1 Host: example.com Content-Type: application/json { "name": "Ridge Boot", "price": 210 }
← RESPONSE
HTTP/1.1 201 Created Location: /products/43 Content-Type: application/json { "id": 43, "name": "Ridge Boot", "price": 210 }
202AcceptedDescubre qué significa una respuesta 202 Accepted, cómo el código señala procesamiento asíncrono y cómo sondear el resultado final.Ejemplo
→ REQUEST
POST /job HTTP/1.1 Host: example.com Content-Type: application/xml Content-Length: 68 <?xml version="1.0"?> <job> <id>125</id> <task>G01</task> </job>
203Non-Authoritative InformationDescubre qué significa una respuesta 203 Non-Authoritative Information, cuándo los proxies devuelven 203 y en qué se diferencia de 200 OK.Ejemplo
→ REQUEST
GET /instructions HTTP/1.1 Host: example.com
204No ContentCorrecto, sin cuerpo de respuesta.Ejemplo
→ REQUEST
DELETE /products/43 HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 204 No Content (no body)
205Reset ContentDescubre qué significa una respuesta 205 Reset Content, cómo indica a los clientes que borren los datos del formulario y en qué difiere de 204.Ejemplo
→ REQUEST
POST /signup HTTP/1.1 Host: example.com Content-Type: application/xml Content-Length: 92 <?xml version="1.0"?> <person> <name>David Smith</name> <country>USA</country> </person>
206Partial ContentEntiende la respuesta 206 Partial Content, cómo funcionan las peticiones Range para descargas reanudables y las respuestas de rango multiparte.Ejemplo
→ REQUEST
GET /videos/sample.mp4 HTTP/1.1 Host: example.com Range: bytes=25000-75000
207Multi-StatusDescubre qué significa una respuesta 207 Multi-Status, cómo WebDAV la usa para informar resultados por recurso y cómo analizar el cuerpo XML.Ejemplo
<d:response> <d:href>http://example.re/tasks</d:href> <d:status>HTTP/1.1 200 OK</d:status> </d:response>
208Already ReportedEntiende el código 208 Already Reported y cómo WebDAV lo usa dentro de respuestas 207 para evitar listar recursos por duplicado.Ejemplo
→ REQUEST
PROPFIND /main/ HTTP/1.1 Host: example.com Depth: infinity DAV: bind Content-Type: application/xml; charset="utf-8" Content-Length: 139 <?xml version="1.0" encoding="utf-8" ?> <d:propfind xmlns:d="DAV:"> <d:prop> <d:name/> <d:link/> </d:prop> </d:propfind>
226IM UsedDescubre qué significa una respuesta 226 IM Used y cómo la codificación delta y las manipulaciones de instancia ahorran ancho de banda.Ejemplo
→ REQUEST
GET /livingdocs/current_specs.pdf HTTP/1.1 Host: example.com Accept-Encoding: gzip
3xxRedirección (Redirection)
300Multiple ChoicesEntiende la respuesta 300 Multiple Choices, cuándo la envían los servidores y cómo eligen los clientes entre varias representaciones.Ejemplo
→ REQUEST
GET /tech-news HTTP/1.1 Host: example.com
301Moved PermanentlyEl recurso se ha movido permanentemente a la dirección de Location.Ejemplo
→ REQUEST
GET /old-path HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 301 Moved Permanently Location: https://example.com/new-path
302FoundEl recurso está temporalmente en Location.Ejemplo
→ REQUEST
GET /account HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 302 Found Location: /login
303See OtherDescubre cómo funciona la redirección 303 See Other, por qué siempre cambia a GET y cuándo usar 303 tras peticiones POST, PUT o DELETE.Ejemplo
→ REQUEST
DELETE /tasks/314 HTTP/1.1 Host: example.com
304Not ModifiedLa caché es válida; se puede usar directamente la copia local.Ejemplo
→ REQUEST
GET /logo.png HTTP/1.1 Host: example.com If-None-Match: "9c2e-abc123"
← RESPONSE
HTTP/1.1 304 Not Modified ETag: "9c2e-abc123" (no body — reuse the cached copy)
305Use ProxyConoce el obsoleto código 305 Use Proxy, por qué se retiró por motivos de seguridad y qué lo sustituyó.Ejemplo
→ REQUEST
GET /document.pdf HTTP/1.1 Host: example.com
307Temporary RedirectEntiende 307 Temporary Redirect, por qué conserva el método de la petición a diferencia de 302 y cuándo usarlo en lugar de 302 o 303.Ejemplo
→ REQUEST
GET /news.html HTTP/1.1 Host: example.com
308Permanent RedirectEntiende 308 Permanent Redirect, cómo conserva el método a diferencia de 301 y cómo los buscadores transfieren la autoridad de enlaces.Ejemplo
→ REQUEST
POST /api/v1/orders HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 35 {"item": "widget", "quantity": 10}
4xxError del cliente (Client Error)
400Bad RequestLa sintaxis o los parámetros de la petición no son válidos.Ejemplo
→ REQUEST
POST /products HTTP/1.1 Host: example.com Content-Type: application/json { "price": "not-a-number" }
← RESPONSE
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "price must be a number" }
401UnauthorizedSe requiere autenticación.Ejemplo
→ REQUEST
GET /account HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer realm="api"
402Payment RequiredEntiende 402 Payment Required: un código reservado, su uso no estándar por parte de Shopify y Stripe, y su impacto en SEO.Ejemplo
→ REQUEST
GET /tech-news HTTP/1.1 Host: example.com
403ForbiddenAutenticado pero sin autorización.Ejemplo
→ REQUEST
DELETE /users/1 HTTP/1.1 Host: example.com Authorization: Bearer <valid-token>
← RESPONSE
HTTP/1.1 403 Forbidden Content-Type: application/json { "error": "admin role required" }
404Not FoundNo se encontró el recurso de destino.Ejemplo
→ REQUEST
GET /products/9999 HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "product 9999 not found" }
405Method Not AllowedEl método no está permitido para este recurso.Ejemplo
→ REQUEST
DELETE /products HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 405 Method Not Allowed Allow: GET, POST, QUERY
406Not AcceptableSoluciona los errores 406 Not Acceptable. Entiende la negociación de contenido, las cabeceras Accept y cómo tratan los servidores las peticiones insatisfacibles.Ejemplo
Accept: text/html, text/plain
407Proxy Authentication RequiredSoluciona los errores 407 Proxy Authentication Required. Conoce los esquemas de autenticación de proxy y las cabeceras Proxy-Authenticate.Ejemplo
→ REQUEST
GET /documents/tech-news HTTP/1.1 Host: example.com
408Request TimeoutSoluciona los errores 408 Request Timeout. Entiende por qué los servidores cierran conexiones lentas y cómo resolver problemas de transmisión.Ejemplo
→ REQUEST
PUT /docs HTTP/1.1 Host: example.com Content-Type: application/pdf Content-Length: 10000
409ConflictSoluciona los errores 409 Conflict. Entiende los conflictos de estado del recurso, las estrategias de resolución y los casos de uso habituales en API.Ejemplo
→ REQUEST
POST /blog/update?postid=111&flag=like HTTP/1.1 Host: example.com
410GoneEntiende 410 Gone: eliminación permanente del recurso, diferencias con 404, comportamiento de caché e impacto en la indexación SEO.Ejemplo
→ REQUEST
GET /holiday-promotion-Jan-2021.pdf HTTP/1.1 Host: example.com
411Length RequiredSoluciona los errores 411 Length Required. Aprende cuándo hace falta la cabecera Content-Length y cómo resolver este error de cliente.Ejemplo
→ REQUEST
PUT /docs HTTP/1.1 Host: example.com Content-Type: application/pdf <PDF file included as message body>
412Precondition FailedSoluciona los errores 412 Precondition Failed. Aprende las cabeceras de petición condicional, los fallos de If-Match y cómo evitar actualizaciones perdidas.Ejemplo
→ REQUEST
POST /blog/update?postid=111&task=reply HTTP/1.1 Host: example.com If-Unmodified-Since: Fri, 1 Jan 2021 00:00:00 GMT Content-Type: text/plain Content-Length: 45 <Message body contains reply-text from the client>
413Content Too LargeSoluciona los errores 413 Content Too Large. Aprende los límites de tamaño del servidor, el uso de la cabecera Expect y cómo manejar subidas demasiado grandes.Ejemplo
→ REQUEST
PUT /docs HTTP/1.1 Host: example.com Content-Type: application/pdf Content-Length: 10000
414URI Too LongSoluciona los errores 414 URI Too Long. Entiende los límites de longitud de URL, las restricciones del navegador y cómo acortar los URI de petición.Ejemplo
→ REQUEST
GET /<...a_long_URI...> HTTP/1.1 Host: example.com
415Unsupported Media TypeSoluciona los errores 415 Unsupported Media Type. Aprende la validación de Content-Type y Content-Encoding, con pasos de diagnóstico.Ejemplo
→ REQUEST
POST /blog/newmessage HTTP/1.1 Host: example.com Content-Type: text/plain Content-Length: 24 Good morning, Everybody!
416Range Not SatisfiableSoluciona los errores 416 Range Not Satisfiable. Entiende las peticiones de rango de bytes, la cabecera Content-Range y su resolución.Ejemplo
Content-Range: bytes */512
417Expectation FailedSoluciona los errores 417 Expectation Failed. Aprende cómo funcionan la cabecera Expect y el mecanismo 100-continue, y cuándo se devuelve 417.Ejemplo
→ REQUEST
PUT /docs HTTP/1.1 Host: example.com Content-Type: application/pdf Content-Length: 10000 Expect: 100-continue
418I'm a teapotSoy una tetera: el código de estado easter egg del RFC 2324.Ejemplo
→ REQUEST
BREW /coffee HTTP/1.1 Host: teapot.example
← RESPONSE
HTTP/1.1 418 I'm a teapot Content-Type: text/plain I refuse to brew coffee — I am a teapot.
421Misdirected RequestSoluciona los errores 421 Misdirected Request. Entiende la reutilización de conexiones, el enrutamiento HTTP/2 y el diagnóstico de Alt-Svc.Ejemplo
→ REQUEST
GET /tech-news HTTP/2 Host: example.com
422Unprocessable ContentSoluciona los errores 422 Unprocessable Content. Aprende las diferencias con 400 y 415 y cómo resolver fallos de validación semántica.Ejemplo
→ REQUEST
POST /requests HTTP/1.1 Host: example.com Content-Type: application/xml Content-Length: 101 <?xml version="1.0" encoding="utf-8"?> <request> <id>100</id> <action>start</action> </request>
423LockedSoluciona los errores 423 Locked. Aprende los mecanismos de bloqueo de archivos de WebDAV, las cabeceras Lock-Token, los códigos de precondición y cómo desbloquear recursos.Ejemplo
→ REQUEST
PUT /documents/ HTTP/1.1 Host: example.com Content-Type: application/pdf Content-Length: 10000 <PDF file transferred>
424Failed DependencySoluciona los errores 424 Failed Dependency. Aprende las respuestas multiestado de WebDAV, las operaciones PROPPATCH y la resolución de dependencias.Ejemplo
→ REQUEST
PROPPATCH /update.html HTTP/1.1 Host: example.com Content-Type: application/xml; charset="utf-8" Content-Length: 305 <?xml version="1.0" encoding="utf-8" ?> <d:propertyupdate xmlns:d="DAV:" xmlns:z="urn:example"> <d:set> <d:prop> <z:seats> <z:seatnumber>100</z:seatnumber> <z:seatnumber>101</z:seatnumber> </z:seats> </d:prop> <d:prop> <d:name>Smith</d:name> </d:prop> </d:set> </d:propertyupdate>
425Too EarlyEntiende 425 Too Early: riesgos de repetición de los datos tempranos de TLS, la cabecera Early-Data y las estrategias de protección en el servidor.Ejemplo
→ REQUEST
GET /tech-news HTTP/1.1 Host: example.com Early-Data: 1
426Upgrade RequiredSoluciona los errores 426 Upgrade Required. Aprende los requisitos de actualización de protocolo, la cabecera Upgrade y los pasos de resolución.Ejemplo
→ REQUEST
GET /tech-news HTTP/1.1 Host: example.com
428Precondition RequiredSoluciona los errores 428 Precondition Required. Aprende las cabeceras condicionales como If-Match y cómo evitar actualizaciones perdidas.Ejemplo
→ REQUEST
PUT /reservations.txt HTTP/1.1 Host: example.com
429Too Many RequestsDemasiadas peticiones; límite de frecuencia aplicado.Ejemplo
→ REQUEST
GET /api/search HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 429 Too Many Requests Retry-After: 30 Content-Type: application/json { "error": "rate limit exceeded" }
431Request Header Fields Too LargeSoluciona los errores 431 Request Header Fields Too Large. Aprende los límites de tamaño de cabecera, cómo reducir cookies y los pasos de diagnóstico.Ejemplo
→ REQUEST
GET /tech-news HTTP/1.1 Host: example.com Cookie: first_cookie=<very_long>; second_cookie=<long_again>
451Unavailable For Legal ReasonsEntiende 451 Unavailable For Legal Reasons: respuestas de censura, requerimientos legales y su uso en Exchange ActiveSync.Ejemplo
→ REQUEST
GET /tech-trial-updates HTTP/1.1 Host: example.com
5xxError del servidor (Server Error)
500Internal Server ErrorSe produjo un error interno del servidor.Ejemplo
→ REQUEST
GET /report HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "error": "unexpected server error" }
501Not ImplementedSoluciona los errores 501 Not Implemented. Entiende los métodos HTTP no admitidos, las diferencias con 405 y la configuración del servidor.Ejemplo
→ REQUEST
POST /requests?id=111&flag=start HTTP/1.1 Host: example.com
502Bad GatewayLa pasarela recibió una respuesta no válida del servidor superior.Ejemplo
→ REQUEST
GET /api/users HTTP/1.1 Host: gateway.example.com
← RESPONSE
HTTP/1.1 502 Bad Gateway Content-Type: text/plain upstream sent an invalid response
503Service UnavailableEl servicio no está disponible temporalmente (sobrecarga o mantenimiento).Ejemplo
→ REQUEST
GET / HTTP/1.1 Host: example.com
← RESPONSE
HTTP/1.1 503 Service Unavailable Retry-After: 120 Content-Type: text/plain under maintenance — try again shortly
504Gateway TimeoutSoluciona los errores 504 Gateway Timeout. Aprende las causas de los tiempos de espera del servidor superior, la configuración del proxy y el diagnóstico.Ejemplo
→ REQUEST
GET /news HTTP/1.1 Host: example.com
505HTTP Version Not SupportedSoluciona los errores 505 HTTP Version Not Supported. Aprende sobre los desajustes de versión de protocolo y la compatibilidad del servidor.Ejemplo
→ REQUEST
GET / HTTP/2 Host: example.com
506Variant Also NegotiatesEntiende 506 Variant Also Negotiates: referencias circulares en la negociación de contenido transparente y errores de configuración del servidor.Ejemplo
→ REQUEST
GET /docs HTTP/1.1 Host: example.com Accept: text/html, application/xhtml+xml
507Insufficient StorageSoluciona los errores 507 Insufficient Storage. Entiende los límites de almacenamiento de WebDAV, las diferencias con 413 y su resolución.Ejemplo
→ REQUEST
PUT /docs HTTP/1.1 Host: example.com Content-Type: application/pdf Content-Length: 10000 <PDF file included in message body>
508Loop DetectedSoluciona los errores 508 Loop Detected. Entiende los bucles infinitos de WebDAV y el diagnóstico de los límites de recursos de cPanel.Ejemplo
→ REQUEST
PROPFIND /shared/ HTTP/1.1 Host: example.com Depth: infinity Content-Type: application/xml
510Not ExtendedEntiende 510 Not Extended: el obsoleto HTTP Extension Framework, su estado histórico y su uso.Ejemplo
→ REQUEST
GET /resource HTTP/1.1 Host: example.com
511Network Authentication RequiredSoluciona los errores 511 Network Authentication Required. Entiende los portales cautivos, las páginas de inicio de sesión Wi-Fi y el manejo en el cliente.Ejemplo
→ REQUEST
GET / HTTP/1.1 Host: example.com