Todo el proceso desde que escribes una URL hasta que se muestra la página

Escribes una URL en la barra de direcciones del navegador y pulsas Enter. En una conexión rápida, la página se muestra en menos de 1 segundo. Sin embargo, durante ese breve instante, tu navegador ejecuta una cantidad sorprendente de procesos.

En este artículo, explicamos todo el proceso desde que escribes https://example.com hasta que la página se muestra, recorriendo cada capa de la red. Cuando accedes a IP Check-san, exactamente el mismo proceso se ejecuta en segundo plano.

Paso 1: análisis de la URL

El navegador primero analiza la cadena de texto introducida:

  • Protocolo: https:// → se usará HTTPS (puerto 443)
  • Nombre de dominio: example.com → necesita convertirse a dirección IP mediante DNS
  • Ruta: / (raíz si se omite) → el recurso solicitado al servidor

Si se determina que la entrada es una consulta de búsqueda en lugar de una URL, se redirige al motor de búsqueda predeterminado.

Paso 2: resolución DNS - convertir el nombre de dominio en dirección IP

El navegador necesita conocer la dirección IP de example.com. La resolución DNS se intenta en el siguiente orden:

  1. Caché del navegador: el navegador recuerda las direcciones IP de dominios visitados recientemente
  2. Caché del SO: si no está en el navegador, se consulta la caché DNS del sistema operativo
  3. Archivo hosts: se consulta /etc/hosts (Unix) o C:\Windows\System32\drivers\etc\hosts (Windows)
  4. Resolver DNS: si no se encuentra en ninguno de los anteriores, se consulta al servidor DNS configurado (el predeterminado del ISP, o Cloudflare 1.1.1.1, etc.)

El resolver DNS realiza consultas jerárquicas: servidor raíz → servidor TLD de .com → servidor autoritativo de example.com, obteniendo finalmente la dirección IP (por ejemplo: 93.184.216.34). Este proceso suele tardar entre 10 y 100 ms. Si comprendes la fragilidad del DNS, también entenderás los riesgos en esta etapa.

Paso 3: establecimiento de la conexión TCP - handshake de tres vías

Una vez conocida la dirección IP, el navegador establece una conexión TCP al puerto 443 del servidor. Se realiza el handshake de tres vías (3-way handshake) de TCP:

  1. SYN: cliente → servidor "quiero conectarme"
  2. SYN-ACK: servidor → cliente "entendido, yo también estoy listo"
  3. ACK: cliente → servidor "confirmado, iniciamos la comunicación"

Estos 3 intercambios consumen 1 RTT (Round Trip Time). Desde Tokio a un servidor en Los Ángeles, son aproximadamente 100 ms. La latencia que puedes verificar con traceroute tiene un impacto directo aquí.

Paso 4: handshake TLS - establecimiento de la comunicación cifrada

En el caso de HTTPS, se construye una capa de cifrado TLS sobre la conexión TCP. En TLS 1.3 se realizan los siguientes procesos:

  1. ClientHello: el cliente envía las suites de cifrado compatibles, la versión TLS y un valor aleatorio
  2. ServerHello: el servidor selecciona la suite de cifrado y envía el certificado TLS
  3. Verificación del certificado: el navegador verifica la validez del certificado (confiabilidad de la CA emisora, fecha de expiración, coincidencia del nombre de dominio)
  4. Intercambio de claves: se genera una clave de cifrado compartida mediante el intercambio de claves Diffie-Hellman

En TLS 1.3, el handshake se ha optimizado para completarse en 1 RTT (en TLS 1.2 se necesitaban 2 RTT). Además, para reconexiones a servidores previamente visitados, es posible el 0-RTT (zero round trip).

Paso 5: envío de la solicitud HTTP

Una vez establecida la conexión cifrada, el navegador envía la solicitud HTTP:

GET / HTTP/2
Host: example.com
User-Agent: Mozilla/5.0 ...
Accept: text/html
Accept-Language: ja,en
Accept-Encoding: gzip, br

Esta solicitud incluye información como el tipo de navegador, los formatos de contenido aceptados, la configuración de idioma y las cookies.

Paso 6: procesamiento del servidor y respuesta

El servidor recibe la solicitud, genera el HTML y lo devuelve. Un sitio estático devuelve el archivo directamente, mientras que un sitio dinámico consulta la base de datos a través del servidor de aplicaciones para generar el HTML.

La respuesta incluye un código de estado HTTP (200 OK, 301 redirección, 404 Not Found, etc.) y encabezados de seguridad.

Paso 7: renderizado - de HTML a píxeles

Desde que el navegador recibe el HTML hasta que la página se muestra, se realizan múltiples procesos:

  1. Análisis HTML: convierte el HTML en un árbol DOM (Document Object Model)
  2. Análisis CSS: convierte el CSS en CSSOM (CSS Object Model)
  3. Construcción del árbol de renderizado: combina DOM y CSSOM para construir el árbol de elementos a mostrar en pantalla
  4. Layout: calcula la posición y el tamaño de cada elemento
  5. Pintado: convierte cada elemento en píxeles y los dibuja en pantalla

Durante este proceso, si se necesitan recursos adicionales (CSS, JavaScript, imágenes, fuentes), se repite el ciclo de resolución DNS → conexión TCP → handshake TLS → solicitud HTTP para cada uno (en HTTP/2, las conexiones al mismo dominio se pueden multiplexar, mejorando la eficiencia).

Resumen - la culminación tecnológica comprimida en menos de 1 segundo

El proceso desde que escribes una URL hasta que la página se muestra atraviesa prácticamente todas las tecnologías principales de internet: DNS, TCP, TLS, HTTP y el renderizado HTML/CSS. Cada paso presentado en este artículo es un campo tecnológico independiente, cada uno con una profunda historia y filosofía de diseño.

Cuando accedas a IP Check-san, abre la pestaña "Red" de las herramientas de desarrollo del navegador (F12). Podrás visualizar el tiempo empleado en cada etapa: resolución DNS, conexión TCP, handshake TLS y solicitud HTTP.

Términos del glosario relacionados

DNS El sistema que convierte el nombre de dominio en dirección IP en el paso 2. HTTPS La comunicación cifrada establecida mediante el handshake TLS en el paso 4. Dirección IP La dirección numérica del servidor obtenida como resultado de la resolución DNS. TLS El protocolo que establece la comunicación cifrada en el paso 4. En TLS 1.3 se completa en 1 RTT. HTTP El protocolo con el que el navegador solicita recursos al servidor en el paso 5.