HTTP #5 – la request y la response

Protocolo HTTP

Imagina una persona en un aeropuerto dando vueltas y preguntando: ¿Me puede decir qué hora es?

Para que otra persona responda con la respuesta correcta a esa aparentemente sencilla pregunta debe:

  1. Entender la pregunta (entender el idioma)
  2. Tener acceso a un reloj en la que poder mirar la hora.

Así es como trabaja el HTTP. Tú, el cliente, necesitas un recurso de otra persona (servidor), así que haces una pregunta (request) utilizando tu idioma y esperas que la otra persona entienda la pregunta. Si es así y ademas tiene un reloj disponible, te dirá la respuesta (response).

Si la otra persona entiende tu pregunta pero no tiene reloj, te dirá al menos que ya lo siente pero que no sabe qué hora es (un 404).

Si la otra persona no entiende lo que estás diciendo podría no darte ninguna respuesta y simplemente pasar de largo.

HTTP es el protocolo con el que se realiza la operación anterior:

  1. Un cliente envía una HTTP request a un servidor usando un formato determinado para que el servidor entienda.
  2. El servidor responde enviando una HTTP response usando un formato que el cliente entenderá.

Request y response son dos tipos de mensaje diferentes que se se intercambian en un dialogo HTTP. Los estándares de HTTP definen que ocurre en esa transacción y cualquiera que hable “http” podrá intercambiar recursos de esta manera.

Un ejemplo

Un navegador sabe cómo enviar una HTTP request abriendo una conexión de red hacia un servidor y enviando un mensaje HTTP en texto. No hay nada mágico en una request. Es solo un comando en un texto plano ASCII y formateado acorde a la especificación HTTP. Cualquier aplicación que pueda enviar información a través de una conexión de red puede realizar una HTTP request.

Primero se abre una conexión hacia el servidor en el puerto 80 y se ejecuta el comando:

GET / HTTP/1.1

Esto le dirá al servidor que queremos el recurso localizado en “/” (directorio raiz) y que estamos usando HTTP 1.1. Lo siguiente a ejecutar sera:

host: www.recetas.com

Esto es una información necesaria en una request HTTP 1.1  Se incluye porque un servidor puede alojar varias webs y esta línea le ayuda a saber cuál de ellas se refiere para ir a su “/

El servidor a partir de aquí ya puede responder a la petición ofreciendo la home page de la web http://www.recetas.com.

HTTP #5 – la request y la response

Un comentario en “HTTP #5 – la request y la response

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s