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