Skip to content
Home » Chrome tiene su propia caché de DNS al margen del sistema de Windows

Chrome tiene su propia caché de DNS al margen del sistema de Windows

Para los sysadmin puede ser un pequeño dolor de cabeza cuando se realiza un cambio en el DNS de un dominio, porque el cliente (usuario) que usa un navegador como Chrome, puede seguir haciendo las peticiones al servidor antiguo en algunos casos resultando en un 404.

¿Por qué Google Chrome tiene su propia caché DNS independiente de la del sistema operativo Windows?

Google Chrome, al igual que otros navegadores basados en Chromium (como Microsoft Edge), mantiene una caché DNS propia separada de la caché del sistema operativo (en Windows, visible con ipconfig /displaydns). Esta caché se puede ver y borrar en la página interna chrome://net-internals/#dns. Pero, ¿por qué no utiliza exclusivamente la caché del sistema como hacen otros navegadores (por ejemplo, Firefox)?

Razones principales

  1. Mejora del rendimiento y prefetching de DNS
    Chrome implementa un sistema de resolución DNS asíncrona (conocido como “built-in async DNS resolver”). Esto permite resolver nombres de dominio de forma anticipada (prefetching) mientras se carga una página, escaneando enlaces y resolviendo sus direcciones IP antes de que el usuario haga clic en ellos.
    Al tener su propia caché, Chrome acelera la navegación al evitar depender únicamente de la resolución síncrona del sistema operativo, que puede ser más lenta en ciertos escenarios.
  2. Control independiente de la caché
    La caché propia permite a Chrome gestionar sus entradas de forma autónoma: Borrar la caché del navegador (o solo la DNS) no afecta al resto del sistema.
    Evita que acciones del usuario en el sistema operativo (como ipconfig /flushdns) interfieran en el rendimiento del navegador.
    Esto es útil porque Chrome puede aplicar políticas específicas, como ignorar parcialmente el TTL (Time To Live) de los registros DNS y mantener entradas por al menos 60 segundos para garantizar una mínima latencia.
  3. Soporte para funciones avanzadas como DNS over HTTPS (DoH)
    Chrome integra un resolutor DNS propio para habilitar características modernas como DNS seguro (DoH), que encripta las consultas DNS. El resolutor del sistema operativo no siempre soporta estas extensiones de forma nativa, por lo que Chrome necesita control directo para usar proveedores compatibles sin depender del OS.
  4. Mayor fiabilidad y consistencia
    En algunos casos, el resolutor del sistema puede tener limitaciones (por ejemplo, en redes privadas o con configuraciones específicas). El resolutor integrado de Chrome asegura un comportamiento predecible y rápido, incluso si la caché del OS está desactualizada o corrupta.

Consecuencias prácticas

  • Al visitar un sitio, las entradas DNS aparecen en la caché de Chrome, pero no en la del sistema Windows.
  • Si cambias servidores DNS en Windows o editas el archivo hosts, Chrome puede tardar en reflejarlo hasta que expire su caché interna (generalmente 1 minuto mínimo).
  • Para forzar una resolución fresca, borra la caché de Chrome en chrome://net-internals/#dns (botón “Clear host cache”) y, opcionalmente, los “socket pools”.

En resumen, esta separación es una decisión de diseño de Chromium para priorizar velocidad, control y características modernas en la navegación, aunque puede complicar escenarios como pruebas locales o bloqueadores DNS basados en el sistema. Si necesitas que Chrome use estrictamente el resolutor del OS, puedes forzarlo con flags avanzados (como –host-resolver-rules), pero no es lo recomendado por defecto.