Sobes.tech
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}`);
  });
});