Junior
20
0
questionbank

Что такое WebSocket?

Answer from sobes.tech neural network

Протокол прикладного уровня, обеспечивающий двунаправленный, полнодуплексный канал связи через одно 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.

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

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

Пример ус

Register or sign in to get access to full answers for all questions from the question bank.

websocketrealtime-communicationfull-duplexpersistent-connectionnetworkingtcp-protocol