Describir el proceso de un usuario que se conecta a internet, va al navegador y busca una página web.
- ¿Qué necesita el usuario para poder conectarse
a internet?
- Una vez conectado a internet, ¿Cómo se busca
una página en el navegador?
- ¿Cómo llega la página al navegador del
usuario?
- ¿Cómo el navegador muestra el contenido en
pantalla?
- ¿Cómo se subió esa página a internet y dónde
está alojada?
PRIMERA PARTE
Para poder conectarse a internet se
debe disponer de un computador, un router y la contratación de un ISP
(proveedor de internet).
Usualmente el ISP provee a su vez un
servidor DNS configurado, por tanto, solo habrá que conectarse a la red Wifi o
Ethernet usando el icono.
Lo que está pasando allí es:
1)
El computador tiene un protocolo DHCP que le asigna automáticamente una
IP dinámica.
a)
Esta IP, es generalmente 192.168.1.2. Los primeros tres bytes
representan a la red, y el último al dispositivo.
b)
El último byte de la IP es asignado dinámicamente por DHCP a un número
que esté libre.
2)
El router también tendrá su IP dinámica por este mismo protocolo.
a)
También se le asignará una IP al DNS.
3)
Se establece una conexión TCP/IP entre el router y el computador.
a)
Hay que comprobar la conexión con la DNS, porque sin este el router no
podría entender las peticiones del navegador a direcciones IP que no conoce.
SEGUNDA PARTE
Ahora comprobada la conexión a
internet, se entra al navegador.
Lo que se hará es buscar un dominio,
generalmente simple como es: youtube.com. Al presionar enter pasarán una serie
de cosas.
Es importante saber que, la página
youtube.com está alojada en algo llamado servidor web. Este servidor es una
potente máquina que ofrece un espacio de alojamiento o hosting a youtube.com,
para poder ser accedido por millones de usuarios.
Por una parte, el contenido que se verá
en pantalla tiene que pasar por un proceso para llegar allí.
- El dominio debe traducirse a una IP, para
poder que se establezca una conexión entre el servidor web y el navegador.
- Este dominio será consultado con la DNS que
ofrece la ISP o esta se la pedirá a una zona de autoridad (DNS que tienen
guardados ciertos dominios: .com, .es)
- Al resolver la IP, el router establecerá una
conexión TCP/IP con el servidor web usando algo llamado 3-way-handshake
(enlace de 3 vías)
TERCERA PARTE
Hasta el momento se estableció una
conexión con el servidor web, ahora es necesario que el servidor HTTP envíe los
paquetes al navegador para que este pueda renderizarlo y mostrarlo en pantalla.
1)
Cuando se escribe el dominio, se hace a su vez una petición HTTP GET
a)
Esta petición le pedirá al servidor web que le envié una serie de
archivos, como el HTML, CSS etc.
2)
Si la petición llega correctamente, el servidor HTTP (Ejm: Apache) envía
el archivo solicitado en forma de paquetes usando el protocolo TCP.
3)
Dependiendo de la versión de HTTP que se use, el contenido puede
mostrarse sin haber llegado por completo los archivos, o se esperará a que
lleguen todos los archivos para mostrar en pantalla el contenido.
a)
Con ayuda de HTTP/2 el navegador puede mostrar en pantalla los
fragmentos de archivo que van llegando para mejorar la experiencia de usuario.
4)
Al finalizar el envió se cierra la conexión TCP/IP
CUARTA PARTE
1)
El navegador recibe los fragmentos de archivo desde la capa de red.
2)
Las etiquetas HTML se convierten en nodos (elementos) en un árbol de
contenido
3)
Los estilos de CSS junto a algunos elementos visuales se convierten en
un árbol de renderización
i)
En este árbol los elementos contienen las dimensiones y coordenadas
donde deben ir en la pantalla.
4)
Una vez creado el árbol de renderización se inicia un proceso de
“diseño” donde cada elemento irá a sus correspondientes coordenadas.
5)
Luego una etapa de pintura donde a cada elemento se le “pintará” su
contenido y diseño.
6)
Los elementos del árbol de renderización corresponden a elementos insertados
del árbol de contenido, pero no todos ya que hay elementos no visuales en el de
contenido como <head> o <body>
QUINTA PARTE
Como explicaba antes, la página está alojada en un hosting (espacio) de un servidor web. Este servicio es contratado como un alquiler pagándose regularmente, los archivos se suben desde la computadora donde se creó la página al servidor por medio de un protocolo llamado FTP.