Sobes.tech
Junior — Middle

In cosa si differenzia il protocollo WebSocket dal protocollo HTTP standard durante lo scambio di dati in rete?

sobes.tech AI

Risposta dell'AI

La principale differenza tra WebSocket e il protocollo HTTP standard risiede nel modo in cui viene stabilita e mantenuta la connessione per lo scambio di dati:

  • HTTP è un protocollo richiesta-risposta. Il client invia una richiesta, il server risponde, e di solito la connessione viene chiusa. Per ottenere nuovi dati, il client deve inviare una nuova richiesta.

  • WebSocket è un protocollo che stabilisce una connessione bidirezionale persistente tra client e server. Dopo la stretta di mano iniziale HTTP, la connessione passa in modalità WebSocket, e entrambe le parti possono inviare dati in qualsiasi momento senza la necessità di richieste ripetute.

Vantaggi di WebSocket:

  • Bassa latenza nello scambio di dati
  • Efficienza in frequenti scambi di messaggi
  • Supporto in tempo reale (ad esempio, chat, giochi, dati finanziari)

Esempio di utilizzo in Node.js:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', ws => {
  ws.on('message', message => {
    console.log(`Messaggio ricevuto: ${message}`);
    ws.send(`Risposta: ${message}`);
  });
});