Códigos de estado HTTP

Tiempo de lectura: 5 minutos

Cuando se realiza una petición HTTP y el servidor la recibe con éxito, éste debe devolver un código para poder interpretar si la solicitud se procesó con éxito o no.
Aunque programando a diario sólo conozcamos algunos de éstos códigos, dejo un listado más detallado con los diferentes códigos de estado:

Códigos de estado 1xx: el servidor reconoce una solicitud.
  • 100 Continue: El servidor ha recibido los encabezados de la solicitud y el cliente puede continuar enviando el cuerpo de la solicitud.
  • 101 Switching Protocols: El servidor está cambiando los protocolos según la solicitud del cliente.
  • 102 Processing: El servidor ha recibido la solicitud y está procesándola, pero aún no ha completado la respuesta. Se utiliza para informar al cliente que la solicitud está en curso.
  • 103 Early Hints: El servidor devuelve algunos encabezados de respuesta antes de que el resto de la respuesta del servidor esté lista.
Códigos de estado 2xx: el servidor completó la solicitud con éxito.
  • 200 OK: La solicitud ha tenido éxito y el servidor ha respondido correctamente.
  • 201 Created: La solicitud ha tenido éxito y el servidor ha creado un nuevo recurso como resultado.
  • 202 Accepted: La solicitud ha sido aceptada pero aún no la está procesando. La solicitud puede, en última instancia, dar lugar o no a una respuesta completa.
  • 203: Significa que el servidor proxy recibió un código de estado de 200 del servidor de origen, pero ha modificado la respuesta antes de pasarla a su navegador.
  • 204 No Content: La solicitud se ha procesado correctamente, pero no hay contenido para enviar en la respuesta.
  • 205: La solicitud ha sido procesada pero correctamente pero no va a devolver ningún contenido (como el 204). Sin embargo, también requiere que el navegador restablezca la vista del documento.
  • 206: El servidor ha enviado solo una parte del recurso solicitado en lugar de la respuesta completa. El código 206 es útil en situaciones en las que un cliente solicita un rango específico de bytes de un archivo grande, como un video o una descarga, y el servidor puede enviar solo esos bytes en lugar de todo el archivo.
Códigos de estado 3xx: el cliente debe realizar más acciones para completar la solicitud.
  • 300 Multiple Choices: La solicitud tiene varias opciones posibles y el cliente debe elegir una de ellas para proceder. Generalmente se usa en el contexto de redirecciones.
  • 301 Moved Permanently: El recurso solicitado ha sido movido permanentemente a una nueva ubicación.
  • 302 Found: El recurso solicitado se encuentra temporalmente en una nueva ubicación.
  • 303 See Other: La solicitud ha sido procesada y el cliente debe redirigirse a una ubicación diferente para obtener la respuesta deseada, generalmente después de realizar una solicitud POST.
  • 304 Not Modified: El cliente puede usar su copia en caché porque el recurso no ha sido modificado desde la última vez que se solicitó.
  • 305 Use Proxy: fue utilizado anteriormente para indicar que el cliente debe usar un proxy específico para acceder al recurso, pero ha sido obsoleto y ya no se recomienda su uso.
  • 306 Unused: Fue propuesto en borradores anteriores pero nunca se implementó en las especificaciones HTTP, por lo que no tiene un uso o significado establecido en la práctica.
  • 307 Temporary Redirect: La solicitud ha sido recibida y el cliente debe seguir accediendo a la misma URL para obtener la respuesta, manteniendo el método original, en general utilizado para redirecciones temporales sin cambiar el método de solicitud.
  • 308 Permanent Redirect: La solicitud ha sido recibida y el cliente debe seguir accediendo a la misma URL para obtener la respuesta, manteniendo el método original, en general utilizado para redirecciones permanentes sin cambiar el método de solicitud.
Códigos de estado 4xx: el cliente envió una solicitud no válida.
  • 400 Bad Request: La solicitud del cliente es incorrecta o mal formada.
  • 401 Unauthorized: El cliente no tiene autorización para acceder al recurso solicitado.
  • 402 Payment Required: Indica que el acceso al recurso requiere un pago, generalmente utilizado en situaciones en las que se necesita una suscripción o tarifa para acceder al contenido.
  • 403 Forbidden: El cliente no tiene permiso para acceder al recurso solicitado.
  • 404 Not Found: El recurso solicitado no se encuentra en el servidor.
  • 405 Method Not Allowed: El método de solicitud utilizado no está permitido para el recurso solicitado en el servidor, lo que significa que la acción no puede ser realizada en ese recurso usando el método especificado.
  • 406 Not Acceptable: El servidor no puede producir una respuesta que sea aceptable según los encabezados Accept del cliente.
  • 407 Proxy Authentication Required: Se requiere autenticación en un proxy para acceder al recurso.
  • 408 Request Timeout: El servidor cerró la conexión debido a que el cliente no envió una solicitud en un tiempo determinado.
  • 409 Conflict: Indica que la solicitud no se pudo completar debido a un conflicto en el servidor.
  • 410 Gone: El recurso solicitado ya no está disponible en el servidor y no se espera que vuelva a estarlo.
  • 411 Length Required: El servidor requiere que la solicitud incluya el encabezado Content-Length.
  • 412 Precondition Failed: Una condición definida en la solicitud no se cumplió en el servidor.
  • 413 Payload Too Large: La solicitud es demasiado grande para ser procesada por el servidor.
  • 414 URI Too Long: La URI de la solicitud es demasiado larga para ser procesada por el servidor.
  • 415 Unsupported Media Type: El tipo de medio de la solicitud no es compatible con el recurso solicitado.
  • 416 Range Not Satisfiable: El servidor no puede satisfacer el rango de bytes solicitado en el encabezado Range.
  • 417 Expectation Failed: El servidor no puede cumplir con las expectativas indicadas en el encabezado Expect.
  • 418 I'm a teapot: Indica que el servidor se rehusa a preparar café porque es una tetera. Este error es una referencia al Hyper Text Coffee Pot Control Protocol, creado como parte de una broma del April Fools' de 1998. No se utiliza en situaciones normales.
  • 421 Misdirected Request: La solicitud fue dirigida a un servidor incorrecto.
  • 429 Too Many Requests: El cliente ha realizado demasiadas solicitudes en un período de tiempo específico.
  • 431 Request Header Fields Too Large: Los encabezados de la solicitud son demasiado grandes para ser procesados por el servidor.
  • 451 Unavailable For Legal Reasons: El acceso al recurso está prohibido por razones legales.
  • 499: No es parte de las especificaciones HTTP estándar. Se ha utilizado en servidores web Nginx para indicar que el cliente cerró la conexión antes de recibir una respuesta del servidor.
Códigos de estado 5xx: el servidor no pudo cumplir una solicitud válida debido a un error con el servidor.
  • 500 Internal Server Error: El servidor ha encontrado una situación inesperada y no puede cumplir con la solicitud.
  • 501 Not Implemented: El servidor no admite la funcionalidad necesaria para cumplir con la solicitud.
  • 502 Bad Gateway: El servidor, actuando como puerta de enlace o proxy, recibió una respuesta no válida del servidor ascendente que intentaba acceder.
  • 503 Service Unavailable: El servidor no está listo para manejar la solicitud. Puede deberse a sobrecarga temporal o mantenimiento del servidor.
  • 504 Gateway Timeout: El servidor, actuando como puerta de enlace o proxy, no recibió una respuesta a tiempo de parte del servidor ascendente.
  • 505 HTTP Version Not Supported: La versión de protocolo HTTP utilizada en la solicitud no es soportada por el servidor.
  • 506 Variant Also Negotiates: La variante de la respuesta seleccionada por el servidor también está en conflicto con otras opciones disponibles.
  • 507 Insufficient Storage: El servidor no puede crear o actualizar el recurso solicitado debido a falta de espacio de almacenamiento.
  • 508 Loop Detected: El servidor detectó un bucle infinito mientras procesaba la solicitud.
  • 510 Not Extended: Se necesita más extensión para cumplir con la solicitud.
  • 511 Network Authentication Required: El cliente debe autenticarse para obtener acceso a la red.
  • 521 Web Server Is Down: Indica que el servidor web de origen no está disponible temporalmente y la conexión se ha cerrado o ha fallado en la capa de conexión TCP.
  • 525 SSL Handshake Failed: Señala que la conexión SSL/TLS entre el servidor y el cliente no se pudo establecer correctamente, a menudo debido a problemas de certificados o configuración incorrecta.

Deja un comentario