¿Alguna vez te has preguntado acerca de la compleja serie de eventos que ocurren en la fracción de segundo entre escribir "google.com" en tu navegador y ver aparecer la conocida página de búsqueda? En esta exploración detallada, descubriremos el fascinante mundo de las tecnologías web, los protocolos de red y la intrincada danza de datos que hace posible nuestras experiencias en línea.
Cuando escribes "google.com" y presionas Enter, tu navegador entra en acción:
Análisis de URL: el navegador primero analiza la URL que ingresó. Identifica el protocolo (en este caso, implícito "http://" o "https://"), el nombre de dominio ("google.com") y cualquier ruta adicional o parámetro de consulta (ninguno en este ejemplo simple). .
Comprobación HSTS: para sitios web preocupados por la seguridad como Google, el navegador comprueba su lista HTTP Strict Transport Security (HSTS). Si google.com está en esta lista (que lo está), el navegador actualiza automáticamente la solicitud a HTTPS.
Verificación de caché: antes de conectarse a la red, el navegador verifica su caché local. Este caché almacena información de visitas anteriores, que incluyen:
Si se encuentra alguno de estos y aún es válido (no ha caducado), el navegador puede omitir algunos de los siguientes pasos.
Si el navegador no puede encontrar la información necesaria en su caché, recurre al sistema operativo (OS) en busca de ayuda:
Verificación del archivo de hosts: el sistema operativo primero busca en el archivo "hosts" local. Este archivo puede asignar nombres de dominio a direcciones IP, evitando potencialmente la búsqueda de DNS. Sin embargo, para la mayoría de los usuarios, google.com no estará en este archivo.
Caché del cliente DNS: el sistema operativo mantiene su propio caché DNS, separado del del navegador. Se comprueba aquí a continuación.
Configuración del solucionador: Si la IP no está en el caché local, el sistema operativo se prepara para solicitar un servidor DNS. Lee su configuración de red para saber qué servidor DNS consultar (normalmente proporcionado por su proveedor de servicios de Internet o configurado manualmente).
Si la dirección IP de google.com no está almacenada en caché, debemos solicitarle al Sistema de nombres de dominio (DNS) que traduzca el "google.com" legible por humanos a una dirección IP utilizable por máquina.
DNS está organizado en una estructura jerárquica:
Servidores raíz: en la parte superior de la jerarquía. Saben dónde encontrar servidores autorizados para dominios de nivel superior (TLD) como .com, .org, .net, etc.
Servidores TLD: Estos servidores conocen todos los dominios registrados bajo su TLD. El servidor de TLD .com conoce google.com.
Servidores de nombres autorizados: Estos son responsables de saber todo sobre un dominio específico, incluidas sus direcciones IP.
Almacenamiento en caché: cada paso de este proceso puede implicar el almacenamiento en caché, por lo que no siempre es necesario el recorrido completo. El solucionador almacena en caché el resultado final, normalmente durante un tiempo especificado por Google (el tiempo de vida o TTL).
Equilibrio de carga: Los grandes servicios como Google suelen devolver varias direcciones IP. Esto permite el equilibrio de carga y una mayor confiabilidad.
Digamos que la búsqueda de DNS devuelve el siguiente resultado (simplificado):
google.com. 300 IN A 172.217.167.78
Esto significa:
Ahora que tenemos la dirección IP de Google, es momento de establecer una conexión.
Capa de aplicación: Su navegador opera aquí, usando HTTP(S) para comunicarse.
Capa de transporte: TCP se utiliza aquí para garantizar la entrega confiable y ordenada de datos.
Capa de Internet: IP se utiliza para enrutar paquetes entre redes.
Capa de enlace: Maneja la transmisión física de datos, ya sea a través de Ethernet, Wi-Fi, redes celulares, etc.
Para establecer una conexión, se produce un protocolo de enlace de tres vías:
Este proceso establece números de secuencia para la conversación, lo que garantiza que los paquetes se puedan ordenar correctamente y que cualquier paquete perdido se pueda detectar y retransmitir.
Para las conexiones HTTPS (que utiliza Google), se produce un protocolo de enlace TLS (Seguridad de la capa de transporte) adicional:
Con una conexión segura establecida, su navegador envía una solicitud HTTP GET para la página de inicio de Google.
GET / HTTP/2 Host: www.google.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0 Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Connection: keep-alive Upgrade-Insecure-Requests: 1
Esta solicitud incluye:
Los servidores de Google reciben esta solicitud y la procesan. Esto podría implicar:
El servidor de Google devuelve una respuesta HTTP, que podría verse así:
HTTP/2 200 OK Content-Type: text/html; charset=UTF-8 Date: Sat, 21 Sep 2024 12:00:00 GMT Expires: Sat, 21 Sep 2024 12:00:00 GMT Cache-Control: private, max-age=0 Server: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN [... other headers ...]
Esta respuesta incluye:
Su navegador ahora tiene el contenido HTML y comienza a mostrar la página:
Análisis de HTML: el navegador analiza el HTML y crea el modelo de objetos de documento (DOM).
Solicitud de recursos adicionales: a medida que encuentra enlaces a CSS, JavaScript, imágenes, etc., envía solicitudes HTTP adicionales para estos recursos.
Análisis de CSS: el navegador analiza CSS y aplica estilos a los elementos DOM, creando el modelo de objetos CSS (CSSOM).
Ejecutando JavaScript: El navegador ejecuta JavaScript, que puede modificar el DOM y CSSOM.
Representación: el navegador utiliza el DOM y CSSOM final para representar la página en su pantalla.
Lo que parece una acción simple (escribir "google.com" y presionar Enter) en realidad implica una serie compleja de pasos, desde búsquedas de DNS y protocolos de red hasta procesamiento del lado del servidor y representación del lado del cliente. Este complejo baile ocurre en apenas milisegundos y muestra la increíble ingeniería que impulsa nuestras experiencias en línea.
Comprender estos procesos no solo satisface nuestra curiosidad, sino que también ayuda a los desarrolladores web y profesionales de TI a optimizar sitios web, solucionar problemas y crear aplicaciones web más eficientes y seguras. La próxima vez que navegues por un sitio web, tómate un momento para apreciar las maravillas tecnológicas que funcionan detrás de escena para llevar la Web a tu pantalla.
Las imágenes de este blog son generadas por IA.
Lea también HTTP vs HTTPS, cuál es la diferencia entre ellos
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3