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