WebSocket создаёт длительное двунаправленное соединение: после handshake клиент и сервер могут отправлять сообщения независимо, без отдельного HTTP-запроса на каждое событие.
Расскажите, как в целом работает технология WebSocket.
WebSocket создаёт длительное двунаправленное соединение: после handshake клиент и сервер могут отправлять сообщения независимо, без отдельного HTTP-запроса на каждое событие.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
WebSocket создаёт длительное двунаправленное соединение: после handshake клиент и сервер могут отправлять сообщения независимо, без отдельного HTTP-запроса на каждое событие.
В классическом варианте поверх HTTP/1.1 клиент запрашивает Upgrade, сервер подтверждает переход кодом 101, затем стороны обмениваются WebSocket-фреймами. Есть текстовые и бинарные сообщения, ping/pong и закрытие соединения. Для защищённого соединения используется wss. Приложению всё равно нужны аутентификация, проверка origin, лимиты сообщений и backpressure. Переподключение и восстановление пропущенных сообщений не обеспечиваются самим протоколом. Это не отдельное хранилище истории и не гарантия доставки после разрыва.