Aprenda / Redes e Internet

FundamentosAula 4 de 1616 min0% da trilha

HTTP e HTTPS

O protocolo que toda requisição de site usa — método, status code, header, e o "S" que criptografa tudo isso.

Uma requisição HTTP, de verdade

requisição crua
GET /produtos HTTP/1.1
Host: howtodev.site
Accept: text/html
Cookie: sessao=abc123
resposta
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4213

<html>...</html>

Todo fetch(), todo carregamento de página, é essa troca de texto — método, cabeçalhos, e um corpo opcional — por trás de qualquer biblioteca que abstrai isso. Repare no header Cookie no exemplo acima — é assim que o navegador informa ao servidor qual sessão de login pertence a essa requisição.

Os métodos HTTP mais comuns

GET     → buscar dado, sem mudar nada no servidor
POST    → criar algo novo
PUT     → substituir um recurso inteiro
PATCH   → atualizar parcialmente
DELETE  → remover

Status code — a categoria já diz o tipo de resposta

2xx → sucesso           (200 OK, 201 Created, 204 No Content)
3xx → redirecionamento  (301 Moved Permanently, 304 Not Modified)
4xx → erro do cliente   (400 Bad Request, 401 Unauthorized, 404 Not Found)
5xx → erro do servidor  (500 Internal Server Error, 503 Service Unavailable)

Só olhando o primeiro dígito já dá pra saber de quem é o problema — 4xx significa "você (cliente) pediu algo errado"; 5xx significa "o servidor quebrou processando, mesmo com um pedido válido".

O "S" de HTTPS — criptografia, não um protocolo diferente

HTTPS é HTTP normal, rodando dentro de uma camada de criptografia chamada TLS. Sem HTTPS, qualquer um no meio do caminho (o Wi-Fi público da cafeteria, o provedor de internet) consegue ler e até alterar o conteúdo da requisição — senha, número de cartão, tudo em texto puro. Com TLS, o conteúdo é criptografado entre o navegador e o servidor; quem está no meio só vê dado ilegível.

o handshake TLS, resumido
1. Navegador: "Quero conexão segura, aqui estão os algoritmos que suporto"
2. Servidor: manda seu CERTIFICADO (prova de identidade, emitido por uma autoridade confiável)
3. Navegador valida o certificado e negocia uma chave de criptografia só pra essa sessão
4. A partir daqui, todo o tráfego HTTP normal é criptografado com essa chave

O certificado é o que faz o navegador mostrar o cadeado — ele prova que você está falando com o servidor real de howtodev.site, não com um impostor interceptando a conexão.

Quiz rápido

Um status 404 indica erro de quem?
O que o TLS (o 'S' de HTTPS) realmente faz?