Junior — Middle
Qual é a diferença entre o protocolo WebSocket e o protocolo HTTP padrão na troca de dados na rede?
sobes.tech IA
Resposta da IA
A principal diferença entre WebSocket e HTTP padrão reside na forma como a conexão é estabelecida e mantida para a troca de dados:
-
HTTP é um protocolo de pedido-resposta. O cliente envia um pedido, o servidor responde, e geralmente a conexão é fechada. Para obter novos dados, o cliente deve enviar um novo pedido.
-
WebSocket é um protocolo que estabelece uma conexão bidirecional persistente entre o cliente e o servidor. Após o aperto de mão inicial do HTTP, a conexão muda para modo WebSocket, e ambas as partes podem enviar dados a qualquer momento sem necessidade de pedidos repetidos.
Vantagens do WebSocket:
- Baixa latência na troca de dados
- Eficiência na troca frequente de mensagens
- Suporte em tempo real (por exemplo, chats, jogos, dados financeiros)
Exemplo de uso em Node.js:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Mensagem recebida: ${message}`);
ws.send(`Resposta: ${message}`);
});
});