WebSocket

Двунаправленная связь браузер-сервер (2011). Постоянное соединение, низкая задержка. Чаты, игры, биржевые котировки. Альтернатива: Server-Sent Events, Long Polling.

📖3 мин чтения📊Уровень 6📅16 апреля 2026 г.

Загрузка карты...

Что такое WebSocket

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

Без WebSocket реализация чатов, игр, трейдинговых платформ требовала костылей: браузер постоянно отправлял HTTP-запросы («есть новое сообщение?») — это называется polling. Это медленно, неэффективно и нагружает сервер.

Как работает WebSocket

WebSocket начинается с обычного HTTP-запроса с особым заголовком: Upgrade: websocket. Если сервер поддерживает WebSocket, он отвечает «101 Switching Protocols» и соединение «апгрейдится» — превращается в постоянный двусторонний канал. Теперь и сервер, и браузер могут отправлять данные без ожидания запроса.

WebSocket работает поверх TCP, что гарантирует надёжную доставку сообщений.

Где используется WebSocket

Чаты и мессенджеры: новое сообщение приходит мгновенно без перезагрузки страницы. WhatsApp Web, Telegram Web — WebSocket.

Онлайн-игры: позиции игроков, события в реальном времени. Задержка критична — WebSocket её минимизирует.

Финансовые платформы: котировки акций и криптовалют обновляются в реальном времени — именно через WebSocket.

Совместное редактирование: Google Docs синхронизирует изменения от нескольких пользователей одновременно через WebSocket.

WebSocket vs Server-Sent Events vs HTTP/2 Push

Есть альтернативы: Server-Sent Events (SSE) — только сервер → клиент, проще, но однонаправленный. HTTP/2 Server Push — сервер отправляет ресурсы без запроса. WebSocket выбирают, когда нужна настоящая двусторонняя связь с низкой задержкой.

Часто задаваемые вопросы

WebSocket — постоянное соединение, данные приходят мгновенно. Polling — браузер регулярно спрашивает «есть новое?». Это медленно и нагружает сервер.