Junior — Middle
Kuo skiriasi WebSocket protokolas nuo standartinio HTTP protokolo duomenų mainų tinkle?
sobes.tech AI
Atsakymas iš AI
Pagrindinis skirtumas tarp WebSocket ir standartinio HTTP yra tas, kaip yra nustatomas ir palaikomas ryšys duomenų mainams:
-
HTTP yra užklausos-atsakymo protokolas. Klientas siunčia užklausą, serveris atsako, ir ryšys dažniausiai uždaromas. Norint gauti naujus duomenis, klientas turi siųsti naują užklausą.
-
WebSocket yra protokolas, kuris nustato nuolatinį, dvipusį ryšį tarp kliento ir serverio. Po pradinio HTTP rankos paspaudimo, ryšys pereina į WebSocket režimą, ir abi pusės gali bet kada siųsti duomenis be pakartotinų užklausų.
WebSocket privalumai:
- Mažas delsimas duomenų mainuose
- Efektyvumas dažnų žinučių keitimuose
- Realaus laiko palaikymas (pvz., pokalbiai, žaidimai, finansiniai duomenys)
Pavyzdys naudojimo Node.js:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Gauta žinutė: ${message}`);
ws.send(`Atsakymas: ${message}`);
});
});