Frontend e backend
O frontend é o que roda no navegador (a interface). O backend é o programa que roda em um servidor: guarda os dados, aplica a lógica de negócio e responde às requisições do frontend.
Com o Node.js você pode escrever esse servidor em JavaScript, a mesma linguagem do frontend. Por isso "full-stack JS".
HTTP: requisição e resposta
Cliente e servidor conversam por HTTP. O cliente envia uma requisição (request) e o servidor devolve uma resposta (response).
Uma requisição tem:
- um método:
GET(ler),POST(criar),PUT(atualizar),DELETE(apagar). - uma rota:
/usuarios,/produtos/5. - opcionalmente um corpo (body) com dados (em POST/PUT).
Uma resposta tem:
- um código de status:
200(OK),201(criado),404(não encontrado),400(requisição inválida). - um corpo com os dados (normalmente JSON).