Indique los componentes principales de una respuesta HTTP.

¿Alguna vez ha pensado en cómo se comunica el front-end de una aplicación con el backend para obtener datos o realizar ciertas operaciones? Se realiza a través de Requests API. API significa Interfaz de programación de aplicaciones. La comunicación entre nuestro cliente y la API se logra mediante una Solicitud HTTP seguida de una Respuesta al cliente. Tanto las requests como las respuestas siguen una cierta sintaxis y estructura para facilitar el proceso de comunicación.

Cada vez que nuestra aplicación cliente quiere comunicarse con el servidor, envía un mensaje al servidor utilizando los protocolos HTTP, que también se denomina Solicitud HTTP. Basado en ese mensaje, el servidor realiza ciertas operaciones según lo exige el mensaje y luego responde al cliente a través de un mensaje, también conocido como Respuesta HTTP .

A continuación se muestra una imagen que representa el ciclo de solicitud-respuesta:

Imagen del ciclo de solicitud-respuesta HTTP

Estructura de la respuesta HTTP: como se mencionó anteriormente, la respuesta HTTP tiene una estructura especial que se sigue para que el cliente pueda entenderla fácilmente. Existe un Lenguaje Universal que todo el mundo sigue para que no haya brechas de comunicación entre las personas. La respuesta HTTP tiene en términos generales 3 componentes principales: 

  • Línea de estado
  • Encabezados
  • Cuerpo (Opcional)

Una respuesta HTTP en su conjunto se parece a la siguiente imagen:

Anatomía de la respuesta HTTP

Repasemos cada uno de ellos uno por uno:

Línea de estado: a continuación se muestra un ejemplo de una línea de estado:

HTTP/1.1 200 OK

La línea de estado contiene tres componentes importantes: versión HTTP, código de respuesta HTTP y frase de motivo. 

  • Versión de HTTP: el número de versión de HTTP muestra la especificación de HTTP que el servidor ha intentado que cumpla el mensaje de respuesta. En el ejemplo anterior, 1.1 es la versión HTTP.
  • Código de Respuesta HTTP: Es un número de 3 dígitos que muestra la conclusión de la Solicitud. En el ejemplo anterior, el código de respuesta 200 indica que el contenido solicitado estaba bien. Un código de estado muy popular que encontramos con frecuencia es 404, que representa que no se encontró el recurso solicitado.
  • Frase de motivo: también conocido como texto de estado, ya que resume el código de estado en un formato legible por humanos.

Encabezado de respuesta: el encabezado de respuesta contiene información sobre el contenido que se devuelve en respuesta junto con datos sobre el servidor que lo envió. Esta información ayuda al Cliente/Navegador a decidir de qué manera se utilizarán los datos de respuesta. En otras palabras, los encabezados se pueden decir como metadatos que se envían junto con una respuesta para proporcionar más información al respecto.

El servidor puede enviar tantos encabezados como sea necesario. Los encabezados se envían como un par clave-valor separados por dos puntos (:). Aunque el servidor puede enviar tantos encabezados como sea necesario, los encabezados de respuesta más populares son Content-Length, Content-Type, Date, Server, Set-Cookie , etc.

Date: Thu, 16 Jan 2016 08:16:18 GMT
Server: IBM_CICS_Transaction_Server/3.1.0(zOS)
Content-type: image/jpg

En el ejemplo anterior, el encabezado de respuesta muestra la fecha y la hora en que se envió la respuesta, el servidor que envió la respuesta y el tipo de contenido que se envió, que aquí es un archivo de imagen jpg.

Cuerpo: En caso de una respuesta exitosa, el cuerpo del Mensaje de Respuesta se utiliza para servir al Cliente/Usuario con el recurso solicitado en la solicitud. Aunque el cuerpo es opcional, es una de las partes más fundamentales de la comunicación entre el Cliente y el Servidor y se envía la mayor parte del tiempo. El cuerpo contiene los datos y puede estar en uno de los muchos formatos, como json, html, image , etc. , que se especifica en los encabezados. 

En caso de algunos errores, el cuerpo puede proporcionar el motivo de los errores o las acciones necesarias para completar la solicitud con éxito. A veces, puede tener un enlace para guiar al usuario a alguna otra página.

Publicación traducida automáticamente

Artículo escrito por itsvishalcodes y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *