Sobes.tech
Junior — Middle

Aký je rozdiel medzi protokolom WebSocket a štandardným protokolom HTTP pri výmene dát v sieti?

sobes.tech AI

Odpoveď od AI

Hlavný rozdiel medzi WebSocketom a štandardným HTTP spočíva v spôsobe, akým sa nadväzuje a udržiava spojenie na výmenu dát:

  • HTTP je protokol požiadavka-odpoveď. Klient odošle požiadavku, server odpovie a spojenie sa zvyčajne zatvorí. Na získanie nových dát musí klient odoslať novú požiadavku.

  • WebSocket je protokol, ktorý vytvára trvalé, obojsmerné spojenie medzi klientom a serverom. Po počiatočnom handshake HTTP sa spojenie prepne do režimu WebSocket a obe strany môžu kedykoľvek posielať dáta bez potreby opakovaných požiadaviek.

Výhody WebSocket:

  • Nízke oneskorenie pri výmene dát
  • Efektívnosť pri častej výmene správ
  • Podpora v reálnom čase (napríklad chaty, hry, finančné údaje)

Príklad použitia v Node.js:

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

wss.on('connection', ws => {
  ws.on('message', message => {
    console.log(`Prijatá správa: ${message}`);
    ws.send(`Odpoveď: ${message}`);
  });
});