En el protocolo HTTP (Hypertext Transfer Protocol), las respuestas del servidor web se comunican mediante códigos de estado, los cuales indican el resultado de la solicitud realizada por el cliente. Estos códigos proporcionan información sobre si la solicitud fue exitosa, si se requiere alguna acción adicional por parte del cliente, o si ocurrió algún error durante el proceso. Los códigos de estado se dividen en cinco categorías principales, cada una identificada por el primer dígito del código:
-
Respuestas informativas (1xx): Estos códigos son respuestas provisionales que indican que la solicitud del cliente ha sido recibida y el servidor está procesando la solicitud. No se utiliza con frecuencia en la práctica diaria y algunos ejemplos incluyen:
- 100 Continue: Indica que el servidor está listo para recibir la solicitud del cliente.
- 101 Switching Protocols: Indica que el servidor está cambiando los protocolos según la solicitud del cliente.
-
Respuestas satisfactorias (2xx): Estos códigos indican que la solicitud del cliente fue recibida, comprendida y aceptada correctamente por el servidor. Algunos ejemplos comunes son:
- 200 OK: Indica que la solicitud fue exitosa.
- 201 Created: Indica que la solicitud ha sido completada y ha resultado en la creación de un nuevo recurso.
- 204 No Content: Indica que la solicitud fue exitosa, pero no hay contenido para devolver.
-
Redirecciones (3xx): Estos códigos indican que el cliente necesita realizar más acciones para completar la solicitud. Pueden indicar redirecciones temporales o permanentes a otra ubicación. Algunos ejemplos incluyen:
- 301 Moved Permanently: Indica que el recurso solicitado ha sido movido permanentemente a una nueva ubicación.
- 302 Found (Moved Temporarily): Indica que el recurso solicitado se encuentra temporalmente en una nueva ubicación.
- 304 Not Modified: Indica que el recurso no ha sido modificado desde la última vez que fue solicitado.
-
Errores del cliente (4xx): Estos códigos indican que ha habido un error por parte del cliente al realizar la solicitud. Pueden ser causados por solicitudes mal formadas, permisos insuficientes, o recursos no encontrados. Algunos ejemplos son:
- 400 Bad Request: Indica que la solicitud del cliente no pudo ser entendida por el servidor debido a una sintaxis incorrecta o mal formada.
- 403 Forbidden: Indica que el servidor ha entendido la solicitud, pero se niega a autorizarla.
- 404 Not Found: Indica que el servidor no puede encontrar el recurso solicitado.
-
Errores del servidor (5xx): Estos códigos indican que ha ocurrido un error en el servidor al intentar completar la solicitud del cliente. Pueden deberse a errores en el servidor, sobrecarga o fallas en la ejecución de la solicitud. Algunos ejemplos incluyen:
- 500 Internal Server Error: Indica que ha ocurrido un error interno en el servidor que impide que se complete la solicitud.
- 503 Service Unavailable: Indica que el servidor no puede manejar la solicitud en este momento debido a una sobrecarga temporal o mantenimiento del servidor.
- 504 Gateway Timeout: Indica que el servidor que actúa como puerta de enlace no pudo obtener una respuesta a tiempo.
Estos son solo algunos de los códigos de estado más comunes en el protocolo HTTP, y cada uno de ellos proporciona información importante sobre el resultado de una solicitud web. Los desarrolladores web y los administradores de sistemas utilizan estos códigos para diagnosticar problemas y mejorar la experiencia del usuario en la web.
Más Informaciones
Por supuesto, profundicemos en cada una de las categorías de códigos de estado HTTP para obtener una comprensión más completa de su significado y uso:
-
Respuestas informativas (1xx):
Estos códigos de estado son principalmente informativos y se utilizan para indicar que la solicitud del cliente ha sido recibida y que el servidor está procesando la solicitud. Sin embargo, en la práctica cotidiana, rara vez se ven, ya que la mayoría de las solicitudes se resuelven con una respuesta final en una sola transacción entre el cliente y el servidor. Algunos de los códigos 1xx más comunes incluyen:- 100 Continue: Este código indica al cliente que puede continuar con su solicitud. Se utiliza en situaciones en las que el servidor requiere que el cliente envíe los datos del cuerpo de la solicitud antes de continuar con el procesamiento.
- 101 Switching Protocols: Indica que el servidor está cambiando los protocolos según la solicitud del cliente. Por ejemplo, el servidor podría cambiar de HTTP a HTTPS después de recibir esta solicitud.
-
Respuestas satisfactorias (2xx):
Los códigos de estado 2xx indican que la solicitud del cliente fue recibida, comprendida y aceptada correctamente por el servidor. Esto significa que la acción solicitada por el cliente se ha completado con éxito. Algunos ejemplos adicionales son:- 200 OK: Este es uno de los códigos de estado más comunes y se utiliza para indicar que la solicitud fue exitosa.
- 201 Created: Indica que la solicitud ha resultado en la creación exitosa de un nuevo recurso, como cuando se agrega una nueva entrada a una base de datos.
- 202 Accepted: Indica que la solicitud ha sido aceptada para procesamiento, pero el procesamiento aún no se ha completado.
-
Redirecciones (3xx):
Estos códigos de estado se utilizan para indicar al cliente que se requiere una acción adicional para completar la solicitud. Esto generalmente implica redirigir al cliente a una nueva ubicación. Algunos ejemplos adicionales son:- 301 Moved Permanently: Indica que el recurso solicitado ha sido movido permanentemente a una nueva ubicación. Los navegadores suelen cachear esta respuesta, por lo que futuras solicitudes a la URL original se redirigen automáticamente a la nueva ubicación.
- 302 Found (Moved Temporarily): Similar al 301, pero indica que el recurso solicitado se encuentra temporalmente en una nueva ubicación. Los navegadores no cachearán esta respuesta y volverán a solicitar la URL original en futuras ocasiones.
- 303 See Other: Indica al cliente que debe realizar una nueva solicitud a otra ubicación, generalmente utilizando un método GET.
-
Errores del cliente (4xx):
Estos códigos de estado indican que ha habido un error por parte del cliente al realizar la solicitud. Esto puede ser causado por una variedad de razones, como solicitudes mal formadas, permisos insuficientes o recursos no encontrados. Algunos ejemplos adicionales son:- 400 Bad Request: Indica que la solicitud del cliente no pudo ser entendida por el servidor debido a una sintaxis incorrecta o mal formada.
- 403 Forbidden: Indica que el servidor ha entendido la solicitud, pero se niega a autorizarla, generalmente debido a permisos insuficientes.
- 405 Method Not Allowed: Indica que el método de solicitud utilizado (GET, POST, PUT, etc.) no está permitido para el recurso solicitado.
-
Errores del servidor (5xx):
Estos códigos de estado indican que ha ocurrido un error en el servidor al intentar completar la solicitud del cliente. Esto puede deberse a una variedad de razones, como errores en el servidor, sobrecarga o fallas en la ejecución de la solicitud. Algunos ejemplos adicionales son:- 500 Internal Server Error: Indica que ha ocurrido un error interno en el servidor que impide que se complete la solicitud. Este es un mensaje genérico que se muestra cuando el servidor encuentra una condición inesperada que le impide completar la solicitud.
- 503 Service Unavailable: Indica que el servidor no puede manejar la solicitud en este momento debido a una sobrecarga temporal o mantenimiento del servidor.
- 504 Gateway Timeout: Indica que el servidor que actúa como puerta de enlace no pudo obtener una respuesta a tiempo de los servidores ascendentes necesarios para manejar la solicitud.
Estos son solo algunos ejemplos adicionales de los códigos de estado HTTP en cada categoría. Cada código proporciona información específica sobre el estado de la solicitud del cliente y es útil para diagnosticar problemas en la comunicación entre el cliente y el servidor web.