Cómo funciona un navegador web

Voy a explicarlo por capas — de arquitectura general al detalle del rendering pipeline. Nivel senior técnico.

1. Arquitectura de alto nivel

Un navegador moderno NO es una sola cosa monolítica. Son 7 subsistemas principales que colaboran:

SubsistemaResponsabilidad
UI layerBarra de URL, botones, tabs, menús
Browser process (main)Coordina TODO: gestiona ventanas, procesos hijos, permisos
Rendering engineConvierte HTML+CSS en píxeles: Blink, Gecko, WebKit
JavaScript engineCompila y ejecuta JS: V8, SpiderMonkey, JavaScriptCore
Networking stackHTTP/S, DNS, WebSocket, QUIC
GPU processCompositing acelerado por hardware
Storage layerCookies, localStorage, IndexedDB, caché HTTP

Engines de rendering hoy (2026):

  • Blink (fork de WebKit desde 2013) → Chrome, Edge, Opera, Brave, Vivaldi
  • Gecko → Firefox
  • WebKit → Safari (y todo iOS, obligatoriamente hasta el DMA europeo)
  • Servo → experimental en Rust, ahora en Ladybird browser

Engines de JavaScript hoy:

  • V8 (Blink) — el más rápido en benchmarks generales, usa Ignition (interpreter) + TurboFan (optimizer JIT)
  • SpiderMonkey (Gecko) — con WarpMonkey optimizer
  • JavaScriptCore (WebKit) — 4 tiers: LLInt → Baseline → DFG → FTL

2. Ciclo completo de una request — desde teclear URL hasta ver la página

Cuando escribes https://ejemplo.com y presionas Enter:

Fase A — Resolución

  1. Autocompletado: el browser sugiere del historial + búsquedas (usa un ML local)
  2. DNS resolution (jerárquico):
    • Cache DNS del navegador → cache del SO → resolver del router → resolver del ISP → root/TLD/authoritative servers
  3. TCP handshake (3-way) — o directamente QUIC si HTTP/3 (0-RTT con reanudación)
  4. TLS handshake — negociación de cipher, verificación de certificado, key exchange

Fase B — Request/Response

  1. HTTP request con headers (User-Agent, Cookies, Accept-*, etc.)
  2. HTTP response: headers (Content-Type, Cache-Control, CSP, Set-Cookie…) + body

Fase C — Rendering (aquí ocurre la magia)

  1. HTML parsing → construye el DOM (tree)
  2. Preload scanner — mientras HTML se parsea, un scanner secundario busca subresources (<link><script><img>) y las empieza a fetchar en paralelo
  3. CSS parsing → construye el CSSOM
  4. JavaScript execution — puede modificar DOM/CSSOM (a menos que defer/async)
  5. Style calculation → merge DOM + CSSOM → Render tree (solo elementos visibles)
  6. Layout (reflow) → calcula geometría: posición, tamaño, box model
  7. Paint → dibuja píxeles en capas
  8. Compositing → combina capas en la GPU

3. El rendering pipeline en detalle

HTML bytes ──parse──► DOM tree ────┐
                                    ├──► Render tree ──► Layout ──► Paint ──► Composite
CSS bytes  ──parse──► CSSOM tree ──┘
                        ▲
                        │ (JS puede modificar DOM/CSSOM en cualquier momento)

Momentos clave que impactan performance (Core Web Vitals):

  • FCP (First Contentful Paint): primer píxel de contenido en pantalla
  • LCP (Largest Contentful Paint): elemento «importante» (usualmente imagen hero o bloque de texto grande)
  • INP (Interaction to Next Paint): latencia de respuesta a interacción del usuario
  • CLS (Cumulative Layout Shift): cuánto «saltó» el layout después del load inicial
  • TTI (Time to Interactive): cuándo el main thread queda libre para responder

4. Multi-process architecture (por qué Chrome abre 20 procesos)

Chrome popularizó process-per-tab en 2008. Desde 2018 usa Site Isolation: un proceso por origin, no por tab.

Procesos típicos que abre Chrome ahora mismo:

ProcesoCantidad típicaFunción
Browser (main)1Coordina todo
Renderer1 por origin abiertoParsing + JS + Layout de ese sitio
GPU1Compositing acelerado
Network1Conexiones HTTP
Storage1Cookies, IndexedDB, cache
Utility (multiples)variosAudio, video decoding, spelling, etc.
Extension1 por extension activaSandboxed
Plugin1 por plugin (raro hoy)Legacy Flash/PDF

Beneficios:

  1. Aislamiento de crashes: si un tab crashea, no se lleva el browser
  2. Sandbox de seguridad: renderer no puede tocar filesystem del host directamente — todo va via IPC al browser process
  3. Paralelismo: aprovecha múltiples cores
  4. Mitigación Spectre/Meltdown: procesos separados por site previenen exfiltración cross-origin via side-channel

Costo: consume mucha RAM (cada proceso tiene su V8, su heap). Es el trade-off por seguridad y estabilidad.

5. Modelo de seguridad

Same-Origin Policy (SOP)

La regla fundamental: código de origin A NO puede leer datos de origin B. Un origin = scheme + host + port.

  • https://a.com ≠ http://a.com (scheme distinto)
  • https://a.com ≠ https://a.com:8080 (port distinto)
  • https://a.com/x == https://a.com/y (path no importa)

CORS (Cross-Origin Resource Sharing)

Mecanismo para relajar SOP con permiso explícito del servidor. Headers:

  • Access-Control-Allow-Origin: https://otro.com
  • Preflight OPTIONS para requests «no-simples»

CSP (Content Security Policy)

El servidor declara qué recursos puede cargar la página:

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net

Previene XSS aunque el atacante logre inyectar HTML.

Sandbox del renderer

El proceso renderer corre con permisos mínimos: no puede abrir archivos, no puede hacer syscalls arbitrarios. Todo debe pasar por IPC al browser process, que valida.

Otros mecanismos

  • HSTS: fuerza HTTPS
  • Subresource Integrity: hash del recurso en <script integrity="sha384-...">
  • HTTPS certificate validation: cadena de confianza contra root CA store del SO
  • Permission API: notificaciones, geolocation, camera, etc. requieren permiso explícito

6. Networking layer

Los navegadores modernos hablan 3 protocolos HTTP:

VersiónTransportMultiplexingUso hoy
HTTP/1.1TCPNo (head-of-line blocking)Fallback
HTTP/2TCP + TLSSí (multiplexed streams)Mayoritario
HTTP/3QUIC (UDP) + TLS 1.3Sí (sin HoL blocking real)Adopción creciente

QUIC es el diferenciador: al ir sobre UDP evita el head-of-line blocking del TCP (si un paquete se pierde, solo bloquea su stream, no toda la conexión).

Optimizaciones que el browser hace:

  • Connection pooling (reuse de sockets)
  • DNS prefetch (<link rel="dns-prefetch">)
  • Preconnect (<link rel="preconnect">) — hace TCP+TLS anticipado
  • Preload/Prefetch de recursos críticos
  • Service Workers (proxy JS que intercepta requests, permite offline-first)

7. Storage layer

Un navegador maneja varios «backends» de storage:

BackendCuota típicaPersistenciaSync?
Cookies4 KB/cookieConfigurable expireSí (bloquea)
localStorage5-10 MB por originPersisteSí (bloquea)
sessionStorage5-10 MB por originSolo la sesión (tab)Sí (bloquea)
IndexedDBGB (configurable)PersisteAsync
Cache StorageGBPersisteAsync
File System AccessFilesystem realPersisteAsync
HTTP CacheConfigurablePersiste hasta expirationTransparente

8. JavaScript execution — dónde muere la performance

El JS engine hace varias fases:

  1. Parsing → AST
  2. Bytecode compilation (Ignition en V8)
  3. Ejecución interpretada — código «frío»
  4. Profiling en runtime — detecta código «caliente»
  5. JIT optimización (TurboFan) — recompila hot code a machine code optimizado
  6. Deoptimización — si una asunción de la optimización falla (ej. tipo de variable cambia), revierte al bytecode

El single-threaded event loop:

  • 1 hilo principal para JS del renderer
  • Callbacks entran a la queue (tasks + microtasks)
  • Bloquear ese hilo = bloquear la UI
  • Web Workers = hilos separados sin acceso al DOM
  • Service Workers = threads especiales que persisten background

Por qué las apps modernas son lentas:

  • Frameworks pesados (React/Angular/Vue) → mucho JS parsing + execution en el load inicial
  • Cada component render puede triggerar reflow
  • Third-party scripts (analytics, ads) — bloquean main thread

9. Un detalle raro pero fascinante

El browser NO tiene que esperar el HTML completo para empezar a pintar. Usa:

  • Streaming HTML parsing: parsea a medida que llegan los bytes
  • Speculative rendering: hace layout de lo que ya tiene con supuestos sobre lo pendiente
  • Preload scanner: fetch de recursos declarados antes de que el parser llegue a ellos

Por eso una página bien optimizada puede mostrar el «First Contentful Paint» en <1s aunque el DOMContentLoaded completo tarde 5s.

10. Curiosidades que quizás no sabías

  1. localhost tiene HTTPS gratis: navegadores tratan localhost como origin seguro sin certificado válido para APIs que requieren HTTPS
  2. Third-party cookies están muriendo: Chrome las deprecates en 2026, Safari/Firefox ya bloquean por default
  3. Cada <script> sincrónico bloquea el parser HTML: por eso defer/async importan
  4. CSS bloquea el rendering pero NO el parsing: el browser sigue parseando HTML pero no puede paintar hasta tener CSSOM
  5. Los iframes tienen su propio process bajo Site Isolation: por eso los sitios con muchos iframes de ads consumen tanta RAM
  6. El GPU process no tiene memoria persistente — si crashea, todos los tabs pierden compositing por unos ms

Referencias para profundizar

Si quieres ir más al fondo:

  • «How Browsers Work» (Tali Garsiel) — el clásico que todos citan
  • web.dev de Google — Core Web Vitals + performance patterns
  • HTML Living Standard (WHATWG) — la spec real, no HTML5
  • V8 blog — cómo funciona el JIT interno
  • Servo docs — arquitectura moderna en Rust

Publicado

en

por

Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  • Cómo detener la grabación de pantalla en iPhone: Métodos nativos y configuraciones de iOS

    Cómo detener la grabación de pantalla en iPhone: Métodos nativos y configuraciones de iOS

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: Apple iOS 17, iOS 18 e iOS 19 (Arquitectura nativa de iPhone) Dominar la gestión de las funciones de captura multimedia en entornos móviles es fundamental para proteger la privacidad de los datos sensibles y optimizar el rendimiento térmico del hardware. El procedimiento…

  • El fútbol del futuro: Toda la tecnología que transformará el partido Francia vs. España en el Mundial 2026

    El fútbol del futuro: Toda la tecnología que transformará el partido Francia vs. España en el Mundial 2026

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Cobertura Especial: Infraestructura Tecnológica de la Copa Mundial de la FIFA 2026 El desarrollo de los torneos de fútbol de máxima categoría demanda una precisión milimétrica para respaldar la toma de decisiones justas y dinámicas en el terreno de juego. El próximo encuentro entre las selecciones…

  • Diferencias hardware y arquitectura entre Servidor, Workstation y PC de escritorio

    Diferencias hardware y arquitectura entre Servidor, Workstation y PC de escritorio

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Paridad de Arquitectura: Sistemas x86_64, ARM64 Enterprise (Windows Server 2025, RHEL 9.4, Windows 11 Pro for Workstations) El diseño de infraestructuras de TI eficientes exige comprender a nivel de silicio y software las fronteras operativas de los diferentes tipos de nodos de cómputo. Clasificar las diferencias…

  • Cómo monitorear Proxmox VE con Zabbix: Guía de configuración paso a paso

    Cómo monitorear Proxmox VE con Zabbix: Guía de configuración paso a paso

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: Proxmox VE 8.x+ y Zabbix Server 7.0 LTS+ Supervisar de forma centralizada la salud de un entorno de virtualización es una tarea crítica para garantizar la alta disponibilidad de los servicios corporativos. El método definitivo para monitorear Proxmox VE con Zabbix consiste en…

  • Zabbix Agent para Windows: Qué es, métricas de monitoreo y guía de instalación rápida

    Zabbix Agent para Windows: Qué es, métricas de monitoreo y guía de instalación rápida

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: Zabbix Agent / Agent 2 v7.0 LTS+ (Windows Server 2016 a 2025 / Windows 10 y 11) Monitorear de forma proactiva la infraestructura de servidores e infraestructura crítica es indispensable para mitigar incidentes y garantizar la continuidad del negocio. El Zabbix Agent para…

  • Guía de planificación para implementar 3CX: Requisitos de red, dimensionamiento y telefonía VoIP

    Guía de planificación para implementar 3CX: Requisitos de red, dimensionamiento y telefonía VoIP

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: 3CX v20 (Arquitectura Cloud y On-Premise) Desplegar una plataforma de comunicaciones unificadas de alta disponibilidad a nivel empresarial exige un análisis de ingeniería previo que blinde la infraestructura ante fallas de paridad. Ejecutar una correcta fase de planificación antes de implementar 3CX es…

  • Qué es la app de escritorio de 3CX: Guía de descarga, instalación y configuración

    Qué es la app de escritorio de 3CX: Guía de descarga, instalación y configuración

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: 3CX v20 (Windows 10/11 y macOS 12+) La modernización de la telefonía corporativa exige el despliegue de herramientas nativas ágiles que centralicen los canales de comunicación sin comprometer los recursos locales del sistema. La app de escritorio de 3CX (3CX Desktop App) es…

  • Cómo ingresar a 3CX: Requisitos previos y guía de gestión de credenciales de acceso

    Cómo ingresar a 3CX: Requisitos previos y guía de gestión de credenciales de acceso

    Actualizado: Julio 2026 | Compatibilidad de Sistema: 3CX v20 (Cliente Web, App de Escritorio y PWA) Garantizar el acceso fluido a las plataformas de comunicaciones unificadas es crucial para mantener la continuidad operativa y la productividad dentro de cualquier organización moderna. El proceso para ingresar a 3CX de forma segura implica validar una serie de…

  • Cómo descargar 3CX SBC y requisitos previos de instalación para telefonía VoIP

    Cómo descargar 3CX SBC y requisitos previos de instalación para telefonía VoIP

    Actualizado: Julio 2026 | Compatibilidad de Sistema: 3CX v20 y Debian 12 (Bookworm) / Windows Server 2022 Desplegar una arquitectura de telefonía IP robusta y distribuida requiere herramientas avanzadas que garanticen la seguridad y la fluidez del aprovisionamiento de terminales remotos. El método estándar para conectar teléfonos IP en sucursales hacia una central telefónica en…

  • Cómo Eliminar Virus sin Instalar Nada: El Anti-malware Portable que Supera a ElistarA

    Cómo Eliminar Virus sin Instalar Nada: El Anti-malware Portable que Supera a ElistarA

    Anti-malware portable — el «sucesor de ElistarA» ElistarA fue una gran herramienta ES/AR de Roberto Vera (S21sec/Optenet). Legado histórico útil pero ya obsoleta — última actualización de firmas relevante fue hace años. Aquí las opciones modernas que replican su concepto: ejecutable único, sin instalación, database actualizable, escaneo on-demand. Ranking objetivo por escenario 🥇 Emsisoft Emergency…

  • Cómo funciona un navegador web

    Cómo funciona un navegador web

    Voy a explicarlo por capas — de arquitectura general al detalle del rendering pipeline. Nivel senior técnico. 1. Arquitectura de alto nivel Un navegador moderno NO es una sola cosa monolítica. Son 7 subsistemas principales que colaboran: Subsistema Responsabilidad UI layer Barra de URL, botones, tabs, menús Browser process (main) Coordina TODO: gestiona ventanas, procesos…

  • Cómo enrutar tráfico por un puerto o IP hacia una WAN específica en MikroTik RouterOS v7

    Cómo enrutar tráfico por un puerto o IP hacia una WAN específica en MikroTik RouterOS v7

    Por: Equipo Editorial JZC | Actualizado: Julio 2026 | Compatibilidad de Sistema: MikroTik RouterOS v7.15+ (Rama Actual) Administrar arquitecturas Multi-WAN avanzadas exige un control quirúrgico sobre los flujos de datos para garantizar el máximo rendimiento de la infraestructura. Forzar el tráfico de un puerto específico (como HTTPS, SSH o puertos de streaming) o una dirección…

  • Cómo instalar Windows 11 sin cuenta Microsoft utilizando el comando OOBE BYPASSNRO

    Cómo instalar Windows 11 sin cuenta Microsoft utilizando el comando OOBE BYPASSNRO

    Actualizado: Julio 2026 | Compatibilidad de Sistema: Windows 11 (22H2, 23H2 y 24H2) Realizar una instalación limpia del sistema operativo en equipos corporativos o residenciales exige optimizar el control de la privacidad y simplificar la experiencia de despliegue inicial. El método definitivo para instalar Windows 11 sin cuenta Microsoft consiste en ejecutar un bypass nativo…

  • Resolución de Problemas en MikroTik: Guía de Troubleshooting en RouterOS v7

    Resolución de Problemas en MikroTik: Guía de Troubleshooting en RouterOS v7

    Actualizado: Julio 2026 | Compatibilidad de Sistema: MikroTik RouterOS v7.15+ (Rama Actual) Mantener la estabilidad operativa de una infraestructura de red requiere dominar los mecanismos avanzados de diagnóstico y depuración de fallas en el nodo central. Implementar una metodología sistemática de resolución de problemas comunes (Troubleshooting) en MikroTik RouterOS v7 es el proceso crítico para…

  • Failover Avanzado en MikroTik usando Recursive Routing: Guía de Configuración en RouterOS v7

    Failover Avanzado en MikroTik usando Recursive Routing: Guía de Configuración en RouterOS v7

    Actualizado: Julio 2026 | Compatibilidad de Sistema: MikroTik RouterOS v7.15+ (Rama Actual) Garantizar la alta disponibilidad en una infraestructura de red corporativa exige ir más allá de los mecanismos de redundancia básicos. Implementar un esquema de Failover avanzado usando Recursive Routing (Rutas recursivas) en MikroTik RouterOS v7 es la solución definitiva para resolver el problema…

  • PCC vs. Failover en MikroTik: ¿Cuál es la diferencia y cuál elegir?

    PCC vs. Failover en MikroTik: ¿Cuál es la diferencia y cuál elegir?

    Actualizado: Julio 2026 | Compatibilidad de Sistema: MikroTik RouterOS v7.15+ (Rama Actual) Optimizar la disponibilidad y el rendimiento de una red empresarial o residencial con múltiples proveedores de Internet requiere comprender a fondo los mecanismos de enrutamiento que ofrece RouterOS. La elección entre implementar un esquema de balanceo PCC (Per Connection Classifier) o un sistema…