O que é a Internet?
Introdução
De uma forma muito breve e resumida, a Internet é um grupo de computadores e outros dispositivos (celulares, smart-devices, carros autônomos, etc.) conectados uns aos outros. Eles são capazes de trocar informações utilizando, geralmente, um protocolo de comunicação. Existem vários tipos de protocolos que veremos mais adiante.
Por que criaram a Internet?
A Internet começou a ser desenvolvida durante a Guerra Fria nos anos de 1960. Os EUA, com medo de sofrerem algum tipo de atentado que poderia deixá-los sem comunicação (como uma Guerra Nuclear), decidiram investir na iniciativa ARPA (Advanced Research Projects Agency).
Logo depois, ela se tornaria DARPA (Defense Advanced Research Projects Agency) e originou a ARPANET. Essa rede é considerada a versão embrionária da Internet que temos hoje, permitindo a comunicação entre universidades, centros de pesquisas e órgãos governamentais.
Os Idealizadores do Projeto
Abaixo estão alguns nomes dos idealizadores desse grande projeto, com algumas referências para você se aprofundar:
- J.C.R. Licklider: Foi o camarada que teve a grande ideia de criar uma rede global de computadores.
- Robert Taylor: Liderou o projeto ARPANET dentro da ARPA.
- Larry Roberts: Principal arquiteto do projeto.
- Paul Baran: Desenvolveu os conceitos fundamentais de redes distribuídas e comutação de pacotes.
- Leonard Kleinrock: Liderou o time que enviou a primeira mensagem da ARPANET em 1969.
Dada a devida introdução, podemos dizer que hoje em dia a Internet está em quase todo o globo terrestre, exercendo um papel fundamental em diversos segmentos de nossas vidas:
- Na forma como nos comunicamos;
- No jeito que estudamos e nos mantemos atualizados;
- Nas compras, no trabalho e em nossas casas.
Tudo isso sendo feito através de computadores, aparelhos celulares e smart devices.
Principais Protocolos da Internet
Agora bora aprender um pouco mais como tudo isso funciona (claro, apenas uma breve introdução, porque senão isso iria virar um livro!).
Como já disse anteriormente, a Internet é um conglomerado de computadores e dispositivos conectados através de protocolos e tecnologias. Segue abaixo uma lista dos mais conhecidos:
- IP (Internet Protocol): Protocolo responsável por identificar e localizar os dispositivos de uma rede.
- TCP (Transmission Control Protocol) e UDP (User Datagram Protocol): São protocolos de transporte responsáveis por levar os dados de uma aplicação até outra através da rede. De uma forma bem resumida, o TCP seria comparado a uma carta registrada com confirmação de entrega (prioriza confiabilidade), já o UDP seria o camarada que está de saco cheio de entregar panfleto no Viaduto do Chá e resolve fazer um belo de um aleluia com os panfletos que sobraram no final do dia (prioriza velocidade).
- HTTP (Hypertext Transfer Protocol): Protocolo da camada de aplicação usado para transferência de dados na web, como páginas e APIs.
- HTTPS (Hypertext Transfer Protocol Secure): Protocolo utilizado na comunicação entre browsers e servidores web de forma segura (criptografada), utilizando um processo chamado TLS Handshake.
- FTP (File Transfer Protocol): Protocolo responsável por transferir arquivos entre computadores. Detalhe: esse protocolo não contém criptografia, não sendo seguro utilizá-lo hoje em dia.
- SFTP (SSH File Transfer Protocol): Protocolo responsável pela transferência segura de arquivos entre computadores.
- SMTP (Simple Mail Transfer Protocol): Protocolo utilizado para enviar e-mails.
- POP3 (Post Office Protocol version 3): Protocolo utilizado para baixar e, opcionalmente, remover e-mails do servidor.
- IMAP (Internet Message Access Protocol): Protocolo utilizado para gerenciar e sincronizar e-mails no servidor.
- DNS (Domain Name System): Responsável por converter endereços de domínio (como URLs) em endereços de IP.
- TLS (Transport Layer Security): É o protocolo moderno de segurança na Internet. O SSL (Security Socket Layer) é seu predecessor e hoje é considerado obsoleto.
O que acontece por debaixo dos panos quando você digita uma url no seu browser?
🌐 O que acontece passo a passo
1) Browser interpreta a URL O navegador quebra a URL em partes:
- Protocolo: HTTPS
- Domínio: www.exemplo.com
- Caminho: / (página inicial)
Ele entende: “preciso acessar um servidor web de forma segura”
2) Verificação de cache (rápido) Antes de qualquer rede, o browser verifica:
- Cache DNS
- Cache de página
- Cache de conexão TLS
Se já tiver tudo recente, pode pular partes.
3) Resolução de DNS (descobrir o IP) O browser precisa descobrir: Qual é o IP de www.exemplo.com? Ele faz isso usando o sistema de nomes (Domain Name System). Fluxo típico:
- Checa cache local
- Pergunta ao DNS do roteador/ISP
- Se não souber, consulta servidores DNS globais
Recebe algo como: 93.184.216.34. Agora ele sabe onde o servidor está.
4) Conexão com o servidor (TCP) O browser abre uma conexão com o servidor IP. Usa o Transmission Control Protocol (TCP). Aqui acontece o famoso 🔁 Three-way handshake:
- SYN → “posso falar com você?”
- SYN-ACK → “pode sim”
- ACK → “ok, vamos conversar”
Agora existe uma conexão confiável.
5) Segurança (TLS handshake - HTTPS) Como é HTTPS (Transport Layer Security), o browser e o servidor:
- negociam criptografia
- validam certificado digital
- criam chaves seguras
👉 A partir daqui tudo é criptografado
6) Requisição HTTP Agora o browser envia algo assim (Hypertext Transfer Protocol):
GET / HTTP/1.1
Host: www.exemplo.com
User-Agent: Chrome
7) Processamento no servidor O servidor recebe a requisição e:
- identifica a rota
/ - busca dados (banco de dados, APIs, arquivos)
- monta a página HTML
- prepara resposta
8) Resposta HTTP volta O servidor responde:
HTTP/1.1 200 OK
Content-Type: text/html
E envia o HTML da página.
9) Browser recebe e processa HTML Agora o navegador:
- lê o HTML
- identifica CSS
- identifica JavaScript
- monta o DOM (estrutura da página)
10) Downloads adicionais (paralelo) O browser percebe que precisa de imagens, CSS, JS, fontes. Ele abre novas requisições HTTP/HTTPS para cada recurso.
11) Renderização da página Por fim:
- CSS estiliza
- JS executa
- layout é calculado
- pixels são desenhados na tela
👉 A página aparece para o usuário
🧠 Resumo em uma linha
URL → DNS → TCP → TLS → HTTP → servidor processa → HTTP response → browser renderiza
Diagrama de Sequência (O Fluxo Completo)
sequenceDiagram
autonumber
actor U as Usuário
participant B as Browser
participant C as Cache Local
participant D as DNS
participant S as Servidor Web<br/>(93.184.216.34)
U->>B: Digita a URL<br/>(https://www.exemplo.com/)
Note over B: 1) Interpreta a URL<br/>(HTTPS, Domínio, Caminho)
B->>C: 2) Verifica Cache (DNS, Página, TLS)
C-->>B: Sem cache válido (Exemplo)
B->>D: 3) Resolução DNS: IP de www.exemplo.com?
D-->>B: IP: 93.184.216.34
Note over B,S: 4) Conexão TCP (Three-way handshake)
B->>S: SYN ("posso falar com você?")
S-->>B: SYN-ACK ("pode sim")
B->>S: ACK ("ok, vamos conversar")
Note over B,S: 5) Segurança (TLS Handshake)
B->>S: ClientHello (negocia criptografia)
S-->>B: ServerHello & Certificado Digital
B->>S: Finaliza TLS (Tudo criptografado)
Note over B,S: 6) Requisição HTTP
B->>S: GET / HTTP/1.1 (Host: www.exemplo.com)
Note over S: 7) Processamento no Servidor<br/>(Roteamento, Dados, HTML)
Note over B,S: 8) Resposta HTTP
S-->>B: HTTP/1.1 200 OK (Content-Type: text/html)
Note over B: 9) Processa HTML & Monta DOM
B->>S: 10) Downloads Adicionais (CSS, JS, Imagens)
S-->>B: Retorna Recursos (Em paralelo)
Note over B: 11) Renderização da Página<br/>(Estiliza, executa JS, desenha tela)
B-->>U: Página aparece para o usuário!