~/VibeHandbook
PDF grátis

Capítulo 05 · 07

Como uma requisição flui

Agora vamos amarrar tudo. Vamos acompanhar nosso usuário clicando em "Salvar perfil" através de cada peça que você acabou de conhecer. Este é o modelo mental mais útil de todo o livro; se você internalizar apenas um diagrama, que seja este.

1. USER clicks "Save profile"
        │
        ▼
2. FRONTEND (HTML form, JavaScript reads the values)
        │   sends an HTTP request:  "POST /profile  { name: 'Ada' }"
        ▼
3. HOSTING routes the request to your running BACKEND
        │
        ▼
4. BACKEND
     ├─ is this user logged in?        (no  → respond 401, stop)
     ├─ is the data valid?             (no  → respond 400, stop)
     └─ all good → save to the DATABASE
        │
        ▼
5. DATABASE writes the row, confirms back to the BACKEND
        │
        ▼
6. BACKEND responds:  "200 OK  { saved: true }"
        │
        ▼
7. FRONTEND receives the response, updates the DOM
        │   ("Profile saved ✓") — the user sees it
        ▼
   DONE

Percorra o que cada camada fez: o coletou a entrada e a enviou; a hospedagem levou a requisição até o lugar certo; o aplicou as regras (login, validação) e decidiu; o banco de dados tornou tudo permanente; e a resposta fluiu de volta até que o frontend pudesse atualizar a tela. Todo app é uma variação desse ciclo, executado milhares de vezes por segundo.

Repare que todas as verificações acontecem no backend, nunca no frontend — a regra da primeira seção, em ação: o frontend é para o usuário, o backend é para a verdade. Quando você sabe onde cada etapa acontece, você consegue descrever uma funcionalidade com precisão ("valide o e-mail no backend antes de salvar") em vez de vagamente ("faça o formulário funcionar") — e precisão é o jogo inteiro.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.