La importancia de conocer HTTP para el desarrollo Web

Qué tal amig@s,

Sin duda alguna uno de los puntos importantes dentro del desarrollo de software y especialmente en el ámbito Web es conocer o tener nociones respecto a HTTP. A veces el afán de dominar una tecnología o un lenguaje de desarrollo Web nos hace perder el piso y nos ubica como técnicos de alto perfil sin entender la razón de conceptos fundamentales como HTTP, Sesiones, Peticiones, etc., los cuales son vitales para poder crear aplicaciones Web de calidad y funcionalidad correcta.

Entrando en materia, en este post estaré explicando los siguientes conceptos:

  • Concepto de HTTP
  • Sesiones
  • Peticiones
  • Respuestas
  • Entendiendo que son las cabeceras y el cuerpo

Empecemos por el concepto de HTTP. Es el protocolo de transporte basado en el modelo OSI, el cual es empleado para la Web, el cual dependen de otros protocolos como son TCP e IP. Para aquellos colegas que no tengan claro que es el modelo OSI, este es una normativa formada por siete capas que define las diferentes fases por las que deben pasar los datos para viajar de un dispositivo a otro sobre una red de comunicaciones.\. Como cultura general podemos comentar que las 7 capas del modelo OSI son las que enumero a continuación:

image

Cabe mencionar que HTTP es un protocolo basado en peticiones y respuestas, esto quiere decir que el cliente es el que realiza una petición, a la cual el servidor le da una respuesta. A su vez no cuenta con estado dicho protocolo, lo cual quiere decir que no requiere almacenar información del cliente.

Entendiendo lo anteriormente comentado sobre HTTP, otro concepto a tener muy en cuenta es cuando escuchamos de Sesiones. Una sesión http, es un grupo o conjunto de mensajes que se dan entre un cliente y un servidor, entendiendo que el cliente siempre será el encargado de enviar las peticiones y el servidor se encargará de responder.

Las peticiones enviadas por las sesiones o el conjunto de mensajes, cuentan con 2 elementos de vital importancia los cuales son:

  • El recurso, identificable mendiante la URL.
  • La acción que va a realizar el recurso, esto se va a definir mediante los verbos http GET o POST (o cualquiera de los 9 que existen… me queda de tarea explicarles los otros 7 Smile)

Los más populares verbos utilizados por nosotros los desarrolladores son sin duda alguna GET y POST, los cuales se puede decir que:

GET: Como he comenttado anteriormente el recursos esta representado por una URL, es el más utilizado cuando utilizamos una dirección en la barra de direcciones de nuestro navegador web.

POST: Estos datos son procesados a la hora de enviarse mediante un cuerpo que se le da a la petición.

Como he comentado a lo largo del artículo, a toda petición corresponde una respuesta http. El elemento clave de una respuesta es el código, el cual es un número que va a indicarnos el tipo de respuesta que se trata. Este tipo de códigos son los tan famosos 404 que es el código de la muerte (error) en nuestros proyectos web o bien el 200 en donde todo marcha excelente.Empieza a tomar sentido esto de HTTP, verdad? Open-mouthed smile

Como punto final puedo decirles que tanto las respuestas como las peticiones pueden contar con cabeceras y cuerpo. Las cabeceras tienen un funcionamiento similar a un Dictionary, es decir cuantan con clave y valor de tipo cadena  y permiten dar a conocer información adicional tanto de las peticiones como de las respuestas.

Por el concepto de cuerpo podemos entender como el contenido que se envía, puede estar vacía esa información en el caso de que la petición sea GET ya que estás no contienen un cuerpo.

Y para final, como cultura general cuando nosotros accedemos a un sitio web mediante el navegador de nuestra preferencia, esto genera varias peticiones, cada una con su respectiva respuesta.

Espero que te haya servido este post y te aclare dudas sobre conceptos que tratamos día a día cuando desarrollamos aplicaciones Web.

Saludos,

Samuel Arellano Díaz

 

 

 

Deja un comentario