Entonces, esta es una versión de nuestro sitio web, como puedes ver, apple.co.gg, que abrí con una pestaña de red, y más importante, habilité en Chrome una opción de depuración donde la red es muy, muy, muy, muy lenta, y el caché está deshabilitado, y esto es conceptualmente cómo las personas con internet muy, muy lento acceden al sitio web en el primer intento. Esto obviamente no refleja a todos nuestros usuarios, la mayoría de nuestros usuarios usan escritorio, y tienen conexión a internet, y inalámbrica, o cableada, y lo obtienen muy, muy rápido, y si llegas al sitio web, ves que en un par de milisegundos, accedes al sitio web, pero una vez que lo abro, y en esta versión, ves cuánto tiempo toma, cuántas cosas están sucediendo allí, cuánto tiempo toma hasta que realmente el sitio web es interactivo y los usuarios pueden usarlo. Aceleré el tiempo, pero tomó algo como unos minutos. Esto es algo inaceptable en cualquier aplicación, pero quiero mostrarte que incluso en nuestra aplicación, en la que invertimos mucho, y sabemos exactamente qué sucede allí, incluso allí, es muy, muy difícil entregar un sitio web perfecto, ¿de acuerdo?
Así que tomó dos minutos, incluso más, y acelerado, y ahora vamos a saltar al flujo, y ver qué está sucediendo realmente detrás de escena, porque muchas cosas están sucediendo. Muchas cosas, pero para nosotros, todo se da por sentado, y es preciso. Entonces, lo primero que sucedió es que hago clic en app.willco.gg, ¿de acuerdo? En la barra de direcciones, y detrás de escena, nadie, como el internet, no sabe qué es app.willco.gg. El internet funciona con IPs, ¿verdad? Así que alguien necesita traducir este app.gg en una IP específica donde nuestro sitio web se encuentra. Al final del día, una IP es un servidor que simplemente te da archivos. Así que alguien necesita traducirlo, y este algo o alguien, se llama DNS, ¿de acuerdo? Así que este proceso de mover de app.willco.gg o cualquier otro texto o dirección a IP se llama resolución de DNS. En realidad, no hay muchas cosas que podamos hacer aquí, y al final del día, esta es la máquina del usuario, pero algo con lo que podemos ayudar es si tenemos todo tipo de otros recursos en el HTML, porque al final del día, no solo entregas un HTML. Tu HTML carga muchos otros recursos, por ejemplo, fuentes o cosas así.
Puedes pedirle al navegador que haga un prefetch de DNS, lo que significa que vamos a cargar todo tipo de recursos desde esta dirección, tal vez prefetch esos para ahorrar esos viajes a, de acuerdo, ¿cuál es la IP para esta dirección?, y podemos ahorrar un par de milisegundos o menos. Pero es importante saber que el viaje que el paquete está haciendo. Así que lo primero siempre es la resolución de DNS. Una vez que tenemos esta IP, necesitamos obtener este archivo index.html, ¿verdad? La entrada raíz para nuestro sitio web, y esto ha sucedido solo por una solicitud GET. Vamos a la IP que acabamos de obtener y les pedimos, oye, ¿puedes darme el sitio web, el sitio web raíz, de acuerdo?
Comments