WebSocket — это протокол двусторонней, полнодуплексной связи поверх одного соединения TCP. Он обеспечивает постоянное соединение между клиентом и сервером, позволяя им обмениваться данными в реальном времени без необходимости повторного запроса.
Ключевые особенности:
Применяется в:
Пример простого WebSocket-сервера на Python с использованием библиотеки websockets:
python
Отличие от HTTP:
| Признак | HTTP | WebSocket |
|---|---|---|
| Соединение | Кратковременное (по запросу) | Постоянное, двустороннее |
| Обмен данными | Клиент запрашивает, сервер отвечает | Двусторонний, в любое время |
| Задержка | Высокая (при Polling) | Низкая |
| Накладные расходы | Выше (для частых запросов) | Ниже |
| Примеры | Загрузка веб-страницы, API | Чаты, realtime обновления |