PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое Websocket?

DOM и браузер

WebSocket — это протокол, обеспечивающий постоянное двустороннее соединение между клиентом и сервером, по которому обе стороны могут отправлять сообщения в реальном времени.

Отличие от HTTP

  • HTTP — запрос-ответ: клиент спрашивает, сервер отвечает; сервер не может инициировать сообщение.
  • WebSocket — одно постоянное соединение, обе стороны шлют данные в любой момент (full-duplex).

Как устанавливается

Начинается с HTTP-запроса с Upgrade: websocket — «рукопожатие», после которого соединение переключается на WebSocket-протокол (ws:// или wss://).

const socket = new WebSocket('wss://example.com');

socket.onopen = () => socket.send('привет');
socket.onmessage = (e) => console.log(e.data);
socket.onclose = () => console.log('закрыто');

Где применяют

Чаты, уведомления, онлайн-игры, совместное редактирование, биржевые котировки, live-обновления.

Альтернативы

  • Long Polling — эмуляция «пуша» повторными запросами.
  • Server-Sent Events (SSE) — односторонний поток сервер → клиент.
  • WebSocket — когда нужен именно двусторонний обмен.

Коротко для собеседования

WebSocket — протокол постоянного двустороннего (full-duplex) соединения для обмена сообщениями в реальном времени. Начинается с HTTP-рукопожатия (Upgrade), затем ws/wss. Для чатов, уведомлений, игр. Альтернативы — Long Polling и SSE (односторонний).

Другие вопросы раздела