WEB

Веб-сокеты (Web Sockets)

Веб-сокеты (Web Sockets) — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между клиентом (браузером) и веб-сервером в режиме реального времени.

Это передовая технология, которая позволяет создавать интерактивное соединение между клиентом (браузером) и сервером для обмена сообщениями в режиме реального времени. Веб-сокеты, в отличие от HTTP, позволяют работать с двунаправленным потоком данных, что делает эту технологию совершенно уникальной.

Веб-сокетам для ответа не нужны повторяющиеся запросы. Достаточно выполнить один запрос и ждать отклика.
Вы можете просто слушать сервер, который будет отправлять вам сообщения по мере готовности."

Работа состоит из 2х частей:

-Установка соединения (рукопожатие: запрос GET по HTTP c опцией Upgrade, шифрованный ключ, версия; ответ тоже по HTTP код ответа 101 с опцией Upgrade websocket. После устанавливается прямое TCP соединение);

-Передача данных происходит в виде frames (в бинарном виде). Для поддержания постоянного соединения идут проверки: Ping(от Сервера)-Pong(от Клиента). Для закрытия соединения Close-Close.

В стеке протоколов TCP/IP: Прикладной уровень WS (RFC6455), транспортный уровень TCP, порты 80 или 443."

Веб-сокеты часто используют в:
1. приложения реального времени;
2. чат-приложения;
3. IoT-приложения;
4. многопользовательские игры.

© 2021 QAstart.by