Hoje em dia, a maioria das aplicações usam arquitetura servidor-cliente. Mas, o que isso quer dizer? Você já ouviu falar sobre servidores ou arquitetura servidor-cliente?
Bom, sabe esse site que você está usando para ler esse texto? Ele está hospedado em um servidor (nada mais é do que um computador com esteróides) em algum lugar do mundo que te entrega as informações que você precisa.
Entre esse acesso ao site e a resposta do servidor existem várias de coisas nessa introdução irei abordar DNS.
DNS (Domain Name Server)
Quando você escreve "aptans.cloud" no google, como ele sabe qual servidor que tem esse site? A resposta é: Talvez ele não saiba. O que acontece é (com muita abstração) o seguinte:
Existe uma hierarquia de servidores DNS. Imagina se cada servidor DNS no mundo tivesse que guardar informações sobre sites aleatórios, não seria uma bagunça? Por isso exite a hierarquia
Hierarquia servidor DNS
O primeiro ponto de busca é o seu próprio sistema operacional. Quando acessamos um site, busca-se referência nos arquivos filehosts (arquivos do host) do sistema operacional, ele é responsável por mapear domínio em endereços de IP. Caso não seja encontrado passamos para um próximo nível, o cache (dados temporarios armazenados pelo navegador ou provedor de internet)!
Mas, e se não houver nada no cache, o que acontece? Bom, é aí que a mágica acontece.
No seu provedor de internet dá-se início à jornada!
- O DNS recursivo:
- É um "agente" que fica o tempo todo trabalhando para atender às requisições.
- Root Nameserver:
- 13 Servidores espalhados no mundo. Ele responde à requisições do servidor recursivo solicitando que ele procure em locais mais específicos.
- TLD Nameserver:
- Servidores DNS responsáveis por gerenciar todas as informações de uma extensão comúm de domínio. Existem dois tipos:
- ccTLD (Country Code Top Level Domain)
- Extensões de país: .br (Brasil), .uk (Reino Unido) etc.
- gTLD (Generic Top Level Domain)
- Extensões genéricas: domínios que terminam com \’.com\’, \’.org\’ etc.
- ccTLD (Country Code Top Level Domain)
- Servidores DNS responsáveis por gerenciar todas as informações de uma extensão comúm de domínio. Existem dois tipos:
- Nameserver autoritativo:
- Esse servidor possui todas as informações do nome do domínio ao qual ele serve. Assim ele consegue responder a requisição com a página solicitada.
Bom, é isso. Espero que tenha ficado claro e que tenha sido útil 🙂