NODE.JS NATIVO

Programação Back-End I • Aula 04: Servidor HTTP

Fundações do Back-End

Compreendendo o Metal: O Módulo Nativo `http`

Antes de utilizar frameworks avançados como o Express.js, precisamos dominar os fundamentos. Nesta página interativa, explore analogias visuais no tema Preto, Vermelho e Cinza, simule requisições em tempo real e teste seus conhecimentos com exercícios práticos.

Request / Response Porta 3000 (Listen) Content-Type: JSON Manual Routing (If/Else)

1. Analogias Visuais do Conceito

Entenda o funcionamento de um Servidor HTTP através de metáforas visuais estilizadas.

O Pulso da Web: O Garçom e o Cliente
Request / Response
CLIENTE Navegador REQUEST (O Pedido) RESPONSE (O Prato) SERVIDOR Node.js

Metáfora: O cliente é o cliente no restaurante que faz o pedido (Request). O Node.js é o garçom/cozinha que processa passivamente e devolve a resposta (Response).

Abrindo as Portas: IP vs Porta (Listen)
server.listen(3000)
ENDEREÇO IP (O Prédio na Rede: 127.0.0.1) 80 FECHADA 443 FECHADA 5432 FECHADA 3000 ACTIVE LISTEN NODE.JS

Metáfora: O Endereço IP localiza o computador na rede. A Porta (ex: 3000) é a sala exata com a porta aberta onde a aplicação Node.js escuta os pedidos.

O Envelope e a Carta (Headers vs Body)
Content-Type
HEADER (Metadados): Status: 200 OK Content-Type: application/json BODY / PAYLOAD: { "curso": "Node.js", "status": "Ativo" }

Metáfora: O Header (Envelope) traz as instruções ao navegador (Status Code, Content-Type). O Body (Carta) carrega a carga útil dos dados reais.

O Guarda de Trânsito: Roteamento Manual
req.url + If/Else
req.url Incoming Router If / Else req.url === '/' req.url === '/alunos' else -> Error 404

Metáfora: Sem o roteador (`if/else`), todas as requisições colidem em uma resposta genérica. O código lê `req.url` e atua como um guarda de trânsito direcionando o tráfego.

2. Simulador de Servidor HTTP Nativo

Dispare requisições fictícias para nosso servidor em execução na porta 3000 e observe os cabeçalhos e payloads retornados.

Cliente HTTP (Simulação de Navegador)

Dica do Motor:

O Node.js na memória envia strings. Para dados estruturados, o servidor executa JSON.stringify(objeto) para trafegá-los na rede.

HTTP Response Terminal
Aguardando requisição...
// Headers Enviados (res.writeHead)
Clique em 'Disparar Requisição' para testar.
// Payload / Corpo da Resposta (res.end)
...

3. Laboratório: Monte o Código Nativo

Ordene os blocos de código na sequência correta para construir um servidor HTTP com roteamento e resposta JSON funcional.

Clique nos blocos na sequência correta de execução (1 a 5):

Seu Código Montado:

// Seu código aparecerá aqui à medida que você selecionar os blocos abaixo...

4. Exercícios de Fixação (10 Questões)

Responda às questões e avance passo a passo para testar seus conhecimentos sobre o Módulo Nativo HTTP.

Pontuação 0 / 10
1 / 10