Pular para o conteúdo
murad.guide

A Web Aberta

Capítulo 3

Domínios, DNS e segurança

7 min de leitura 1.321 palavras 2 gravuras

Este capítulo liga o nome digitado na barra ao computador que guarda os arquivos. O site da Oficina Costeira, coletivo fictício de design em João Pessoa, continua no disco. Comprar domínio é opcional. O exemplo correspondente é 03-dominios-dns-seguranca, no pacote que acompanha o volume.

Este volume tem 52 capítulos. Ciclo: ler → copiar → mudar uma coisa → prever → recarregar → conferir.

O que você vai aprender

Nome para gente, número para máquina

Computadores na Internet têm endereço IP. Exemplos: 192.0.2.10 ou um número longo IPv6. Difícil de lembrar.

O domínio é o nome para humanos. github.com é domínio. oficinacosteira.example serviria ao coletivo fictício, se um dia houvesse publicação.

O TLD é o último pedaço: .com, .org, .br. Ele classifica o tipo ou o país do nome. Não prova qualidade do site.

Você não precisa de domínio para estudar. A pasta 03-dominios-dns-seguranca no disco já é o projeto-fio.

O DNS traduz o nome

O DNS (Domain Name System) responde: “qual o IP deste domínio?”

Quando você digita um nome na barra, o computador pergunta a um servidor DNS. Se ele souber, devolve o registro A (IPv4) ou AAAA (IPv6). Se não souber, pergunta a outro, até achar o servidor autoritativo.

Depois o navegador pede o arquivo, em geral index.html, naquele IP. Só então começa o desenho da página.

E-mail usa outro registro, o MX. Site e correio podem viver em máquinas diferentes. Isso é decisão de publicação, não de estudo.

oficinacosteira.example.     A     192.0.2.10
mail.oficinacosteira.example. MX   192.0.2.20

Esses números são de documentação. Não aponte o exercício para eles.

Resumo dos conceitos: Domínio, DNS, HTTPS

HTTP, HTTPS e o que o cadeado não faz

HTTP é o protocolo da Web. O cliente pede; o servidor responde com HTML e outros arquivos.

HTTPS é HTTP por um canal cifrado. Na publicação, use HTTPS. Senha, cookie e formulário real não viajam em HTTP aberto.

HTTPS não torna o texto honesto. Não impede um site falso com certificado próprio. Não substitui label em campo nem alt em imagem.

Neste volume os formulários da Oficina Costeira não enviam cadastro. Não há banco. Não há dado pessoal do aluno.

Erro comum: instalar “antivírus de cadeado” e achar que a página local ficou segura. Segurança de estudo começa por não publicar exercício e não postar senha.

127.0.0.1 é esta máquina

127.0.0.1 é o endereço de loopback. Significa “este computador”. IPv6 equivalente: ::1.

Quando o README pede:

python -m http.server 8769 --bind 127.0.0.1 --directory curso

o servidor escuta só aqui. A URL fica http://127.0.0.1:8769/exemplos/03-dominios-dns-seguranca/.

Isso é teste. Não é publicação. Ninguém na rua alcança essa porta se o bind estiver correto.

Nunca sirva em 0.0.0.0 neste volume. Isso abre a pasta para a rede local.

Abra o exemplo pelo Explorador (file://). Depois sirva em 127.0.0.1. Preveja: o texto da Oficina Costeira é o mesmo. A barra muda o protocolo. Recarregue. Confira.

Comprar domínio é opcional

Publicar um nome bonito na Internet exige registrar um domínio, renovar por ano e apontar o DNS para um servidor. Isso custa dinheiro e tempo.

Não é obrigatório para aprender. Conta paga não é o único caminho. Git em pasta local, arquivo no disco e 127.0.0.1 bastam para as 52 capítulos.

Se um dia você publicar, separe na cabeça: registrador (nome), hospedagem (arquivos), e-mail (MX). Juntar tudo num pacote “fácil” prende o nome ao servidor. Ainda assim, nada disso entra no exercício da Oficina Costeira.

Não use o material do volume como site real de cliente.

Resumo dos conceitos: HTTPS, DNS, Domínio

Hábitos simples de segurança no estudo

Copie este aviso fictício para um index.html de teste. Mude só o parágrafo. Preveja. Recarregue.

<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Estudo local — Oficina Costeira</title>
  </head>
  <body>
    <h1>Oficina Costeira</h1>
    <p>Este arquivo vive no disco. O teste em 127.0.0.1 não publica o coletivo.</p>
    <p>João Pessoa, conteúdo fictício. Sem cadastro.</p>
  </body>
</html>

Erro comum: achar que “já tenho domínio” é pré-requisito do capítulo 03. Não é. O recorte deste volume é entender o mapa, não alugar um nome.

Disco, janela, localhost, publicação

Quatro camadas, de novo, porque a confusão nasce aqui.

  1. Arquivo no disco: você salva no editor.
  2. Página no navegador: o motor desenha.
  3. Teste em 127.0.0.1: servidor local, bind restrito.
  4. Publicação pública: DNS + servidor na Internet. Fora do exercício.

A Oficina Costeira neste volume permanece nas três primeiras.

Registros DNS que você pode ouvir por aí, sem precisar configurar agora:

TTL é o tempo que a resposta fica em cache. Por isso uma mudança de DNS “não pega na hora”. No estudo local isso não importa: não há DNS na pasta do exemplo.

HTTPS na publicação usa certificado. Em 127.0.0.1 o Python do README fala HTTP simples. Isso não é falha de segurança do exercício. Ninguém de fora deveria alcançar essa porta.

Copie o index.html do exemplo para uma pasta só sua. Sirva essa pasta. Mude o h1. Preveja a aba em http://127.0.0.1:8769/. Recarregue. Confira. Pare o servidor com Ctrl+C. A URL deixa de responder. O arquivo no disco continua lá. Publicação pública seria o contrário: o servidor dos outros continua no ar sem o seu Python.

Não misture “meu site já tem domínio” com “terminei o capítulo 03”. Terminar é explicar o mapa e abrir o exemplo.

Quem vende pacote “site + e-mail + domínio” em um clique não está errado comercialmente. Está misturando três contratos. Se o servidor cai, o correio cai junto. Se você só estuda, nenhum dos três é necessário.

IP privado (192.168.x.x) é a rede de casa. Não é publicação. Não peça para colegas “entrarem no seu 192” como se fosse a Oficina Costeira no ar. Use 127.0.0.1 só na sua máquina.

HTTPS de verdade, na publicação, exige certificado válido. Avisos de certificado em site público merecem desconfiança. Na pasta de estudo, o aviso nem deveria aparecer: você não está fingindo um domínio.

Página de estudo para gravar o aviso no disco:

<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Estudo — Oficina Costeira</title>
  </head>
  <body>
    <h1>Oficina Costeira</h1>
    <p>Arquivo no disco. Teste em 127.0.0.1. Sem domínio pago.</p>
  </body>
</html>

Mude só o título da aba. Sirva em 127.0.0.1. Preveja. Recarregue. Confira.

Atividades

  1. O que o DNS devolve quando o navegador pergunta por um domínio?
  2. Qual a diferença prática entre abrir index.html por file:// e por http://127.0.0.1?
  3. Por que este volume não exige comprar um domínio?
  4. No exemplo, sirva a pasta em 127.0.0.1 e mude só o title. O que a aba deve mostrar depois do recarregar?

Respostas comentadas

  1. Em geral o endereço IP do servidor que guarda o site (registro A ou AAAA). Sem isso o navegador não sabe a quem pedir o HTML.
  2. file:// lê o disco direto, sem HTTP. 127.0.0.1 usa protocolo de Web na própria máquina, o que permite caminhos de servidor. Nenhum dos dois é publicação.
  3. Porque o objetivo é aprender tags, caminhos e publicação como conceito. Conta paga não é o único caminho. O projeto-fio roda local.
  4. A aba deve mostrar o novo título. Se continuar o texto antigo, você recarregou outra URL ou o cache segurou a versão anterior: confira a barra.

Referências

O arquivo completo

Referência do exemplo 03-dominios-dns-seguranca, reproduzida aqui para que você possa conferir sem sair da página.

assets/javascript/simulacao.js

const form=document.querySelector("#simulacao");if(form){form.querySelector("button[type=submit]").disabled=false;form.addEventListener("submit",event=>{event.preventDefault();document.querySelector("#retorno").textContent="Simulação concluída. Nada foi enviado ou guardado.";});}