O que é a internet?
A internet é uma rede de redes. Ela não é uma única máquina ou empresa, mas sim milhões de redes independentes que concordam em falar os mesmos protocolos para que possam trocar dados entre si. Esse acordo é o que permite que um laptop em um país se comunique com um servidor em outro em uma fração de segundo.
A World Wide Web é apenas um dos serviços que rodam nessa rede, utilizando HTTP, URLs e browsers. A internet transporta muito mais: e-mail, chamadas de vídeo, transferência de arquivos e inúmeras outras aplicações. Compreender a rede subjacente explica por que a web se comporta da maneira que se comporta.
Clientes e servidores
Quase tudo na web segue um modelo cliente-servidor. Um cliente envia uma requisição; um servidor envia uma resposta.
- O cliente geralmente é um navegador, mas pode ser um app mobile, um script ou outro servidor.
- O servidor é um computador que fica escutando requisições e retorna recursos como HTML, JSON, imagens ou arquivos.
Este ciclo de requisição/resposta é o coração da web. Cada carregamento de página, chamada de API e download de imagem consiste em uma ou mais dessas trocas.
Endereços IP e pacotes
Cada dispositivo na rede possui um endereço IP, que funciona como um endereço postal para os dados. Quando você envia algo, a informação é dividida em pacotes: pequenos pedaços de dados, cada um identificado com um endereço de origem e de destino.
Os pacotes viajam de forma independente. Os roteadores ao longo do caminho encaminham cada um em direção ao seu destino, podendo seguir caminhos diferentes. A máquina receptora os remonta para formar a mensagem original. Esse design, chamado de comutação de pacotes (packet switching), é o que torna a internet resiliente — se uma rota falha, os pacotes podem seguir por outro caminho.
A camada de transporte: TCP e UDP
O IP entrega os pacotes a uma máquina, mas não garante que eles cheguem na ordem correta ou que cheguem de fato. Esse é o trabalho da camada de transporte.
- TCP estabelece uma conexão e fornece um fluxo ordenado e confiável. Ele retransmite pacotes perdidos e é o protocolo utilizado pelo HTTP.
- UDP não requer conexão e não garante a entrega. É mais rápido e é utilizado para vídeo ao vivo, jogos e DNS.
Sobre o TCP, o TLS criptografa a conexão para que ninguém no caminho possa lê-la ou alterá-la. O HTTPS é, simplesmente, o HTTP sobre TLS.
DNS: de nomes para endereços
As pessoas lembram de nomes, não de números. O DNS (Domain Name System) é a agenda telefônica que mapeia um nome como example.com para um endereço IP.
Quando você visita um domínio, seu computador pergunta a um resolver, que consulta uma hierarquia de servidores de nomes até encontrar o servidor autoritativo. A resposta é armazenada em cache por um período para que as consultas repetidas sejam instantâneas. O guia de DNS aborda os detalhes.
HTTP: a linguagem da web
Uma vez estabelecida a conexão, o navegador e o servidor comunicam-se via HTTP. O cliente envia uma requisição com um método (como GET ou POST), um caminho e headers; o servidor responde com um status code, headers e um corpo.
GET /index.html HTTP/2
Host: example.com
Accept: text/html
HTTP/2 200 OK
Content-Type: text/html
Content-Length: 1256
<!doctype html> ...
O guia de HTTP aborda métodos, status codes, headers, cookies e caching.
O que acontece quando você visita uma página
Juntando tudo, o carregamento de uma página funciona assim:
- Resolução do domínio via DNS para obter um endereço IP.
- Conexão com esse endereço via TCP.
- Handshake com TLS para estabelecer um canal criptografado.
- Requisição do HTML via HTTP.
- Parse do HTML para descobrir CSS, JavaScript, imagens e fontes.
- Requisição de cada um desses recursos, geralmente em paralelo, e renderização da página.
Cada recurso adicional repete parte dessa jornada, e é por isso que menos requisições e assets menores tornam as páginas mais rápidas. O guia de Browsers & Rendering continua a partir do passo 5.
Roteadores, ISPs e o backbone
Entre você e um servidor existem diversas redes. Seu tráfego sai através do seu ISP, atravessa redes regionais e nacionais, e pode viajar por cabos submarinos entre continentes. Routers em cada salto decidem para onde enviar o próximo pacote com base em tabelas de roteamento.
Você nunca vê isso, mas é isso que explica a latência: quanto mais longe os dados viajam e mais saltos eles dão, maior é o tempo de ida e volta (round trip).
CDNs e caching
Uma content delivery network distribui cópias do seu conteúdo em servidores ao redor do mundo, para que os usuários sejam atendidos por uma localização próxima. Isso reduz a latência, diminui a carga no seu servidor de origem e melhora a confiabilidade.
O caching funciona em diversas camadas: o cache do navegador, a CDN e o servidor de origem. Cabeçalhos de cache configurados corretamente permitem que o conteúdo seja reutilizado em vez de ser solicitado novamente, o que representa um dos maiores ganhos de performance disponíveis.
Melhores práticas
- Sirva tudo via HTTPS e redirecione HTTP para HTTPS.
- Use uma CDN para assets estáticos e conteúdo cacheável.
- Configure headers de cache adequados para que visitas recorrentes sejam rápidas.
- Mantenha o número de requisições baixo e os payloads pequenos.
- Prefira HTTP/2 ou HTTP/3, que multiplexam várias requisições em uma única conexão.
- Monitore a latência e o time to first byte, não apenas o peso da página.
Erros comuns
- Confundir a internet com a web.
- Presumir que os dados seguem um único caminho fixo.
- Servir conteúdo sensível via HTTP simples.
- Ignorar o cache e buscar tudo novamente a cada visita.
- Tratar o DNS como instantâneo e ignorar os TTLs durante migrações.
- Colocar apenas um servidor em uma única região para atender a um público global.
Próximos passos
A internet é a base de tudo o que você constrói. Aprofunde-se no protocolo com o guia de HTTP, aprenda como os nomes são resolvidos no guia de DNS e veja o que o navegador faz com os bytes em Browsers & Rendering. Depois, abra o painel de rede do seu navegador e observe o carregamento de uma página real acontecendo em tempo real.