Junior
18
0
questionbank

Что такое WebSocket?

Ответ от нейросети sobes.tech

Протокол прикладного уровня, обеспечивающий двунаправленный, полнодуплексный канал связи через одно TCP-соединение. Используется дляリアルтайм-приложений: чатов, онлайн-игр, торговых платформ.

Отличие от HTTP:

  • HTTP: клиент отправляет запрос, сервер отвечает (однонаправленный). Устанавливает новое соединение для каждого запроса или переиспользует через Keep-Alive.
  • WebSocket: после установления соединения клиент и сервер могут отправлять данные в любое время без повторного установления связи (двунаправленный).

Установка соединения:

Используется HTTP для первоначального "рукопожатия" (handshake). Клиент отправляет HTTP-запрос с заголовками Upgrade: websocket и Connection: Upgrade. Сервер отвечает HTTP-ответом со статусом 101 Switching Protocols.

Фреймы данных:

Передача данных происходит в виде фреймов, что позволяет передавать различные типы данных (текст, бинарные данные).

Пример ус

Протокол прикладного уровня, обеспечивающий двунаправленный, полнодуплексный канал связи через одно TCP-соединение. Используется дляリアルтайм-приложений: чатов, онлайн-игр, торговых платформ.

Отличие от HTTP:

  • HTTP: клиент отправляет запрос, сервер отвечает (однонаправленный). Устанавливает новое соединение для каждого запроса или переиспользует через Keep-Alive.
  • WebSocket: после установления соединения клиент и сервер могут отправлять данные в любое время без повторного установления связи (двунаправленный).

Установка соединения:

Используется HTTP для первоначального "рукопожатия" (handshake). Клиент отправляет HTTP-запрос с заголовками Upgrade: websocket и Connection: Upgrade. Сервер отвечает HTTP-ответом со статусом 101 Switching Protocols.

Фреймы данных:

Передача данных происходит в виде фреймов, что позволяет передавать различные типы данных (текст, бинарные данные).

Пример ус

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

websocketrealtime-communicationfull-duplexpersistent-connectionnetworkingtcp-protocol