Seu carrinho está vazio no momento!

Introdução (3 min)
Imagine um restaurante. O garçom é a interface entre você e a cozinha (onde a mágica acontece). Seu pedido (um request) é levado pelo garçom e a comida (a response) é trazida de volta. Um servidor HTTP faz o mesmo: recebe requisições de clientes (como navegadores web) e retorna respostas (como páginas HTML ou dados).
Dominar a criação de servidores HTTP é essencial para o desenvolvimento de APIs modernas e robustas, permitindo a comunicação entre diferentes sistemas e aplicações. Nesta aula, você entenderá como construir seu primeiro servidor HTTP com Node.js e Express, a base para qualquer projeto back-end.
Dentro do ecossistema Node.js, o Express atua como um framework simplificador, facilitando a configuração e o gerenciamento do seu servidor. Ele abstrai complexidades e fornece ferramentas poderosas para lidar com rotas, middlewares e muito mais.
Conceito Fundamental (7 min)
Um servidor HTTP é um programa que escuta requisições em uma porta específica e as atende conforme regras predefinidas. Ele utiliza o protocolo HTTP (Hypertext Transfer Protocol) para essa comunicação. A terminologia importante aqui inclui request (requisição), response (resposta), métodos HTTP (GET, POST, PUT, DELETE), status codes (200 OK, 404 Not Found), headers (informações adicionais) e body (conteúdo da mensagem).
Em produção, servidores HTTP são utilizados em inúmeros cenários, desde servir páginas web estáticas até prover APIs para aplicativos mobile e integrar sistemas complexos. Eles se integram com bancos de dados, sistemas de cache, filas de mensagens e diversas outras tecnologias.
Criar seu próprio servidor oferece vantagens como controle total sobre o ambiente, flexibilidade de configuração e otimização de performance. A principal desvantagem é a responsabilidade pelo gerenciamento e manutenção do servidor.
Implementação Prática (10 min)
// Importa o módulo Express
const express = require('express');
// Cria uma instância do aplicativo Express
const app = express();
// Define a porta que o servidor irá escutar
const PORT = process.env.PORT || 3000; // Usa a porta definida pelo HostGator ou 3000 como padrão
// Rota principal ("/") que retorna uma mensagem
app.get('/', (req, res) => {
// Log da requisição recebida
console.log('Requisição recebida na rota /');
// Envia a resposta "Hello World!" com status code 200
res.status(200).send('Hello World!');
});
// Inicia o servidor na porta especificada
app.listen(PORT, () => {
console.log(Servidor rodando na porta ${PORT});
});
No HostGator Plano M, você pode definir a porta através da variável de ambiente PORT. O código acima verifica se essa variável está definida e a utiliza. Caso contrário, utiliza a porta 3000.
O método app.get() define uma rota que responde a requisições GET na URL “/”. Dentro da função de callback, req representa a requisição e res a resposta. O res.send() envia a resposta ao cliente.
Alternativamente, podemos usar res.json() para retornar dados em formato JSON:
app.get('/dados', (req, res) => {
res.json({ mensagem: 'Dados da API', versao: '1.0' });
});
Exercício Hands-On (5 min)
Crie uma nova rota /sobre que retorne um objeto JSON com informações sobre você (nome, cidade, etc.).
Solução:
app.get('/sobre', (req, res) => {
res.json({ nome: 'Seu Nome', cidade: 'Sua Cidade' });
});
Para testar, execute o servidor com node seu_arquivo.js e acesse http://localhost:3000/sobre no seu navegador.
Troubleshooting: Se o servidor não iniciar, verifique se o Node.js e o Express estão instalados corretamente (npm install express). Se houver erros no código, revise a sintaxe e as mensagens de erro no console.
Próximos passos: Explore outros métodos HTTP (POST, PUT, DELETE), aprenda sobre middlewares e roteamento avançado no Express.
🚀 Pronto para a próxima aula?
Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!