OPCODE: 0x1 (текстовое сообщение)
MASK: 0
LEN: 13 (длина тела сообщения)
Тело:
"Привет, сервер!"
В этом примере сообщение является текстовым, и его тело содержит строку "Привет, сервер!". Длина тела сообщения равна 13 байтам.
В заключении, структура сообщений WebSocket является важной частью протокола, которая обеспечивает эффективную и безопасную передачу данных между клиентом сервером. Понимание структуры имеет важное значение для разработки приложений, которые используют этот протокол. следующей главе мы рассмотрим процесс установления соединения обмена сообщениями
2.2. Методы handshake и установления соединения
В предыдущей главе мы рассмотрели основные принципы работы WebSocket и его преимущества перед традиционными методами обмена данными. Теперь давайте более подробно остановимся на процессе установления соединения между клиентом сервером, который является ключевым моментом в работе WebSocket.
Handshake: первый шаг к установлению соединения
Когда клиент хочет установить соединение с сервером через WebSocket, он отправляет специальный запрос на сервер, который называется "handshake" (рус. "рукопожатие"). Этот содержит информацию о том, что и включает в себя несколько важных параметров.
Handshake начинается с того, что клиент отправляет на сервер HTTP-запрос методом "GET" и специальным заголовком "Upgrade: websocket". Этот заголовок указывает серверу, хочет установить соединение через WebSocket. В запросе также включается "Connection: Upgrade", который то, постоянное сервером.
Ответ сервера
После получения запроса на handshake сервер проверяет, поддерживает ли он WebSocket, и если да, то отправляет ответ клиенту. Ответ сервера также содержит специальный заголовок "Upgrade: websocket", который подтверждает, что WebSocket. Кроме того, в ответе включается "Connection: Upgrade", указывает то, согласен установить постоянное соединение с клиентом.
Установление соединения
После того, как клиент и сервер обменялись запросом ответом на handshake, они могут приступить к установлению соединения. Для этого используют специальный протокол, который называется "WebSocket-протокол".
WebSocket-протокол определяет, как клиент и сервер должны обмениваться данными через установленное соединение. Он включает в себя правила для кодирования декодирования данных, а также механизмы контроля целостности данных обнаружения ошибок.