DNS
Como um nome de domínio vira um endereço IP, quem responde em cada etapa e por que uma mudança de DNS demora a valer para todos.
O que é
Computadores se encontram na rede por endereços IP, como 203.0.113.10. Pessoas e sistemas usam nomes, como api.loja.com.br. O DNS é o serviço que traduz o nome em endereço.
Ele funciona como uma base de dados distribuída pelo mundo inteiro, sem um servidor central que conheça todos os nomes. Cada pedaço da hierarquia sabe apenas quem é o responsável pelo pedaço seguinte. Quase toda conexão que o seu sistema abre começa por uma consulta DNS, e por isso uma falha de DNS costuma parecer uma falha de tudo ao mesmo tempo.
A hierarquia dos nomes
Um nome de domínio é lido da direita para a esquerda, do mais geral para o mais específico:
api.loja.com.br.
│ │ │ │ └─ raiz (o ponto final, quase sempre omitido)
│ │ │ └─── domínio de topo: br
│ │ └────── com.br
│ └────────── loja.com.br, o domínio que você registrou
└─────────────── api, um nome que você criou dentro deleCada nível é administrado por uma organização diferente, que delega o nível abaixo:
| Nível | Quem administra | O que sabe responder |
|---|---|---|
| Raiz | 13 endereços de servidores raiz, replicados em centenas de locais | Quem cuida de cada domínio de topo |
Domínio de topo (br, com) | A entidade de registro, como o Registro.br | Quais servidores respondem por cada domínio registrado |
Seu domínio (loja.com.br) | Você, pelo provedor de DNS que escolheu | Os endereços de api, www e de todos os nomes que você criou |
Os servidores do último nível são os servidores autoritativos do seu domínio. Só eles têm a resposta original. Todo o resto do sistema guarda cópias temporárias.
O caminho de uma consulta
Quando o seu código pede o endereço de api.loja.com.br, a consulta passa por dois tipos de servidor.
O resolvedor recursivo é quem faz o trabalho de busca. Ele pertence ao provedor de internet, à nuvem onde o seu servidor roda ou a um serviço público como 1.1.1.1 e 8.8.8.8. O seu sistema operacional só conhece o endereço dele.
- O programa pede o endereço ao sistema operacional.
- O sistema operacional consulta o próprio cache e, sem resposta, pergunta ao resolvedor recursivo.
- O resolvedor pergunta a um servidor raiz: "quem cuida de
br?" - Pergunta ao servidor de
br: "quem cuida deloja.com.br?" - Pergunta ao servidor autoritativo de
loja.com.br: "qual o endereço deapi?" - O resolvedor devolve a resposta e a guarda em cache.
As etapas 3 a 5 só acontecem quando o resolvedor não tem a resposta guardada. Na prática, a grande maioria das consultas é respondida do cache em poucos milissegundos.
Tipos de registro
Um servidor autoritativo guarda registros. Cada registro associa um nome a um valor de um tipo específico.
| Tipo | Guarda | Exemplo de uso |
|---|---|---|
A | Um endereço IPv4 | api.loja.com.br → 203.0.113.10 |
AAAA | Um endereço IPv6 | O mesmo nome, em IPv6 |
CNAME | Outro nome, para onde a consulta deve seguir | www.loja.com.br → loja.cdn-exemplo.net |
MX | O servidor que recebe os e-mails do domínio | Entrega de e-mail |
TXT | Texto livre | Comprovar a posse do domínio, regras antifraude de e-mail (SPF, DKIM) |
NS | Os servidores autoritativos de um domínio | A delegação entre os níveis |
O CNAME tem uma restrição que causa confusão: um nome com CNAME não pode ter nenhum outro registro. Como a raiz do seu domínio (loja.com.br, sem prefixo) já tem obrigatoriamente registros NS, ela não aceita CNAME. O nível Soluções mostra como os provedores contornam isso.
TTL: por quanto tempo a resposta vale
Todo registro tem um TTL (tempo de vida), em segundos. Ele diz a quem recebeu a resposta por quanto tempo pode reutilizá-la sem perguntar de novo.
A resposta fica guardada em várias camadas ao mesmo tempo:
- no resolvedor recursivo, compartilhada por todos os clientes dele;
- no sistema operacional da máquina;
- às vezes dentro do próprio programa, como na máquina virtual do Java;
- no navegador.
As respostas negativas também são guardadas. Se alguém consultar um nome antes de você criá-lo, a resposta "não existe" fica em cache por um tempo definido na configuração do domínio. É por isso que um registro recém-criado às vezes não aparece para quem testou cedo demais.
Onde o DNS aparece no backend
O DNS não é assunto só de quem configura domínios. Ele está em quatro lugares do dia a dia:
- Deploy e migração: trocar o servidor de uma aplicação é, muitas vezes, trocar um registro DNS e esperar os caches vencerem.
- Comunicação entre serviços: em Docker e Kubernetes, um serviço encontra o outro por nome (
http://pagamentos:8080), e esse nome é resolvido por um DNS interno. - Distribuição de carga e failover: um nome pode devolver vários endereços, ou endereços diferentes conforme a região e a saúde dos servidores.
- Verificação de posse: certificados TLS e serviços de e-mail pedem que você crie um registro
TXTpara provar que controla o domínio.
Por que isso importa quando a IA escreve o código
Um assistente escreve fetch("https://api.parceiro.com/...") sem pensar no que acontece antes da conexão. Os problemas de DNS aparecem em produção e raramente no teste local:
- O programa resolve o nome uma vez, mantém a conexão aberta por dias e continua falando com um endereço que já foi desligado.
- O resolvedor fica lento e todas as chamadas externas ficam lentas juntas, sem nenhum erro claro no log.
- O tempo limite do pedido não cobre a etapa de resolução, e a chamada trava antes mesmo de conectar.
- A migração é planejada para as 22h com um TTL de 24 horas, e metade dos usuários continua no servidor antigo no dia seguinte.
Quem entende o ciclo de consulta e cache reconhece esses sintomas. O próximo nível compara as formas de hospedar o DNS, de escolher o TTL e de direcionar o tráfego.
Prompts para aprofundar
Ao abrir no ChatGPT ou no Claude, o prompt é enviado ao serviço escolhido pela URL e também fica copiado na sua área de transferência.
DNS em cinco minutos
Explique o que é o DNS em no máximo cinco minutos de leitura, para alguém que programa mas nunca configurou um domínio. Cubra só o essencial: como um nome vira um endereço IP, quem guarda a resposta original, o que é o TTL e por que uma mudança de DNS demora a valer para todos. Use uma analogia simples e depois um exemplo real com um nome de domínio. No final, me faça três perguntas curtas para eu verificar se entendi, e corrija as minhas respostas.
Seguir uma consulta DNS passo a passo
Quero entender como funciona a resolução de um nome de domínio, do começo ao fim. Aja como um mentor de redes e backend. Use o nome api.loja.com.br como exemplo e acompanhe uma consulta desde o momento em que o meu programa pede o endereço até a resposta voltar. Explique o papel de cada participante: o sistema operacional, o resolvedor recursivo, os servidores raiz, o servidor do domínio de topo e o servidor autoritativo. Regras para a conversa: 1. Pergunte antes qual é a minha experiência com redes, para ajustar o nível. 2. Explique uma etapa por vez e, ao fim de cada uma, faça uma pergunta curta para verificar se entendi. Só avance depois da minha resposta. 3. Mostre o que cada servidor responde em cada etapa, em formato parecido com a saída do comando dig. 4. Depois do caminho completo, explique o que muda quando a resposta já está em cache e em quais camadas esse cache pode existir. Para encerrar, peça que eu explique com minhas palavras a diferença entre resolvedor recursivo e servidor autoritativo, e corrija o que estiver impreciso.
TTL, cache e a tal propagação
Quero entender por que uma mudança de DNS demora a valer para todo mundo. Explique o que é o TTL de um registro e em quais camadas a resposta fica guardada (resolvedor recursivo, sistema operacional, aplicação e navegador). Depois explique por que a expressão "propagação de DNS" descreve mal o que acontece. Em seguida, proponha três cenários, um de cada vez, e pergunte o que eu acho que acontece antes de dar a resposta: 1. Um registro A com TTL de 24 horas é alterado às 22h. O que diferentes usuários veem na manhã seguinte? 2. Alguém consulta um nome que ainda não existe, e cinco minutos depois o registro é criado. O que essa pessoa vê e por quê? 3. O TTL é reduzido de 24 horas para 5 minutos, e a troca de endereço é feita uma hora depois. A troca vale para todos em 5 minutos? Comente cada resposta minha, apontando o erro de raciocínio quando houver. No final, resuma o procedimento correto para trocar o endereço de um serviço sem indisponibilidade.
Tipos de registro na prática
Quero aprender os tipos de registro DNS montando a configuração de um domínio real. Imagine que acabei de registrar o domínio minhaloja.com.br e preciso configurar: o site na raiz do domínio e em www, hospedado em um serviço que me deu apenas um nome de destino; uma API em api.minhaloja.com.br, em um servidor com IP fixo; o recebimento de e-mails por um provedor externo; e a verificação de posse do domínio pedida por dois serviços. Conduza assim: 1. Para cada necessidade, pergunte qual tipo de registro eu usaria e por quê, antes de mostrar a resposta. 2. Explique os tipos A, AAAA, CNAME, MX, TXT e NS conforme forem aparecendo. 3. Dê atenção especial ao motivo de o CNAME ser proibido na raiz do domínio e às saídas que os provedores oferecem. 4. Mostre a zona final em formato de tabela, com nome, tipo, valor e um TTL sugerido para cada registro, justificando cada TTL.