Junior — Middle
Ի՞նչ տարբերություն կա WebSocket պրոտոկոլի և ստանդարտ HTTP պրոտոկոլի միջև ցանցում տվյալների փոխանակման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
WebSocket և ստանդարտ HTTP-ի հիմնական տարբերությունը այն է, թե ինչպես է հաստատվում և պահպանում կապը տվյալների փոխանակման համար:
-
HTTP-ը հարցում-պատասխան պրոտոկոլ է: Հաճախորդը ուղարկում է հարցում, սերվերը պատասխանում է, և կապը սովորաբար փակվում է: Նոր տվյալներ ստանալու համար, հաճախորդը պետք է ուղարկի նոր հարցում:
-
WebSocket-ը պրոտոկոլ է, որը հաստատում է մշտական, երկկողմանի կապ հաճախորդի և սերվերի միջև: Առաջին HTTP ձեռքով, կապը անցնում է WebSocket ռեժիմ, և երկու կողմերն էլ կարող են ցանկացած ժամանակ ուղարկել տվյալներ առանց կրկնվող հարցումների:
WebSocket-ի առավելությունները՝
- Տվյալների փոխանակման ժամանակի նվազեցում
- Հաճախակի հաղորդագրությունների փոխանակման արդյունավետություն
- Իրական ժամանակի աջակցություն (օրինակ՝ զրույցներ, խաղեր, ֆինանսական տվյալներ)
Օրինակ Node.js-ում:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Ստացված հաղորդագրություն: ${message}`);
ws.send(`Պատասխան: ${message}`);
});
});