Redes
Ahora revisaremos ahora los protocolos HTTP y DNS. Estos dos protocolos son muy importantes dentro del modelo TCP IP o dentro del modelo OSI, dependiendo de cuál estemos mirando y son protocolos de la capa de aplicación, es decir la primera capa de vista de arriba hacia abajo de cada uno de estos modelos.

Protocolo HTTP (Capa de aplicación)
Primero vamos a hablar del protocolo HTTP. El
protocolo HTTP como lo hemos mencionado previamente es uno de los
protocolos más utilizados en internet, es el protocolo que utilizamos hoy
en día para comunicarnos con
servicios web, servidores web y poder
descargar contenido. HTTP significa a hypertext transfer
protocol o protocolo de transferencia de hipertexto y básicamente está
compuesto por 2 formatos de mensajes:
Uno que son mensajes de tipo HTTP
request, esos mensajes que van desde un equipo de origen
hacia un
equipo de destino, hacia
un servidor. Y mensajes de tipo HTTP response que son
equipos pues que van en sentido contrario que atienden el respectivo
request hecho por el cliente.
Hay un estándar que define cuál es el formato de estos mensajes, cómo tiene que escribirse los HTTP request, como tiene que escribirse también su HTTP response y que debería esperarse después de enviar una comunicación, cuál debería ser como la forma de recibir la comunicación y esas reglas digamos que existen, ese protocolo que existe de comunicación utilizando HTTP.
Hay algo muy importante a considerar y es que cuando se hace una solicitud, yo puedo tener Un HTML ( un recurso) dentro de este web server y cuando hago una solicitud hacia ese HTML, envié un mensaje HTTP request y voy a obtener un mensaje HTTP response que va a contener ese HTML, ese HTML va a quedar cargado en mi navegador de Google Chrome por ejemplo (en la PC).

Pero qué sucede si es HTML tiene a su vez por ejemplo tres imágenes, dentro del HTML hay tres fotos por ejemplo, yo tengo que primero hacer la petición para traer el HTML, pero para poder cargar cada una estas imágenes también tengo que hacer peticiones adicionales, es decir, tendría que hacer una nueva petición para poder traer un nuevo HTTP request para poder traer la imagen número uno con respectiva respuesta, una petición para traer la imagen número dos y finalmente una tercera petición para traer la imagen número tres. Entonces no necesariamente para traer un recurso una página web por ejemplo de un web server solamente se necesita una petición, dependiendo si el HTML tiene objetos que necesito ir a traer, pues voy a tener que hacer nuevas peticiones HTTP request para poder traer todos esos recursos que están componiendo el recurso HTML que acabo de obtener.

Ahora, hay aplicaciones dentro del PC que hacen uso de ese protocolo HTTP por ejemplo Google Chrome. Google Chrome es la aplicación que hace uso de ese protocolo HTTP para poder hacer las solicitudes hacia un servidor de destino y en el caso por ejemplo acá de ese servidor de destino estaría por ejemplo Apache web server (o podría estar por ejemplo Internet Information server que es otro web server) y ellos hacen uso también de ese protocolo HTTP para poder recibir las peticiones y para también enviar las respectivas respuestas.
Entonces, en la capa de aplicación no está como tal el software. En la capa aplicación únicamente está el protocolo HTTP que a su vez es utilizado por software, por ejemplo Google Chrome o por ejemplo Apache para poder hacer el envío de los mensajes o para poder hacer el envío de las respuestas también ante los mensajes de solicitud y los mensajes de respuesta.
Por supuesto aquí también hay una encapsulación que se da
hacia abajo, el HTTP request que se está enviando por aquí se
encapsula como segmento, como datagrama, como trama, se envía por el medio
de transmisión cuando llega acá al destino se recibe por
la capa física, se pasa de señales eléctricas por ejemplo a
bits, se pasa a tramas, a datagramas, a segmentos y finalmente mensajes y
este mensaje finalmente ya lo recibe el Apache, recibe
la solicitud que se le está haciendo y a su vez el apache
puedes envía una respuesta con el HTML por ejemplo, que contiene el portal
accedido, lo encapsula una vez, dos veces, tres veces, lo
envía por el medio físico hacia el equipo de destino, el equipo destino de
nuevo hace el proceso de desencapsulación que ya conocemos
y finalmente pues aquí el HTTP response, que sería lo que
obtendría acá cierto, el HTTP response que obtendría el
equipo cliente se lo pasaríamos a al Google Chrome, y este se
encargaría ya de mostrarlo al usuario final o lo muestra de una manera
legible para un humano.