Aula 09 - Programação Web com net/http 🌐
Construindo a Base do seu Próprio Servidor
Agenda de Hoje 📅
- O Pacote
net/http - Handlers: Response vs Request
- Roteamento Simples
- Middlewares e Interceptação
- Servindo Arquivos Estáticos
- Mini-Projeto: Contador de Visitas
1. O Servidor Nativo 📡
- Go não precisa de Nginx ou Apache para lógica.
- Binário independente e de alta performance.
2. Handlers: A Alma da Web 🏗️
func Handler(w http.ResponseWriter, r *http.Request) {
// w: Onde eu escrevo (Response)
// r: O que eu recebo (Request)
}
3. Fluxo de uma Requisição 📊
sequenceDiagram
Cliente->>Servidor: Request (URL, Headers, Body)
Servidor->>Handler: Processa Lógica
Handler-->>Servidor: Gera bytes
Servidor-->>Cliente: Response (Status, JSON/HTML)
4. Middlewares 🛡️
- "Camadas de cebola" ao redor do seu código.
- Aplicações:
- Logs de acesso.
- Verificação de Autenticação.
- Rate Limiting.
5. Arquivos Estáticos 📁
- Simples, direto e seguro.
6. Mini-Projeto: Contador de Visitas 🚀
var count int
func Counter(w http.ResponseWriter, r *http.Request) {
count++
fmt.Fprintf(w, "Visitas: %d", count)
}
Resumo da Aula ✅
net/httpé tudo que você precisa para começar.- ResponseWriter envia, Request recebe.
- Servidores em Go são leves e portáveis.
Próxima Aula: APIs REST Profissionais 🏗️
- Modelagem e Camadas.
- JSON e Verbos HTTP.
Dúvidas? 🤔
"A Web é feita de requisições e respostas. Go é o mestre de ambas."