Какой протокол в WebSocket

«Какой протокол в WebSocket» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

WebSocket использует собственный протокол ws:// (или wss:// для защищённого соединения). Он работает поверх TCP и позволяет устанавливать двустороннее соединение между клиентом и сервером.

Пример подключения:

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

socket.onopen = () => {
  console.log('Соединение установлено');
  socket.send('Привет, сервер!');
};

socket.onmessage = (event) => {
  console.log('Сообщение от сервера:', event.data);
};

Протокол WebSocket начинается с HTTP-рукопожатия (Upgrade-заголовок), после чего переключается на бинарный или текстовый обмен данными.