Spec-Zone.ru › HTTP

Заголовки: Sec-WebSocket-Accept

Заголовок Sec-WebSocket-Accept

Baseline Широко доступно

Эта возможность хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Посмотреть полную таблицу совместимости
>

HTTP Sec-WebSocket-Accept — это заголовок ответа, который используется при рукопожатии для установления соединения WebSocket и указывает, что сервер согласен переключиться на соединение WebSocket.

Этот заголовок должен встречаться в ответе не более одного раза. Его значение директивы вычисляется на основе заголовка запроса Sec-WebSocket-Key, отправленного в соответствующем запросе.

Тип заголовка Заголовок ответа

Синтаксис

Sec-WebSocket-Accept: <hashed key>

Директивы

<hashed key>

Если был указан заголовок Sec-WebSocket-Key, значение этого заголовка вычисляется следующим образом: значение ключа объединяется со строкой 258EAFA5-E914-47DA-95CA-C5AB0DC85B11, после чего для полученной строки вычисляется хеш SHA-1 — в результате получается значение длиной 20 байт. Затем это значение кодируется в Base64, чтобы получить значение этого свойства.

Примеры

>

Начальное рукопожатие WebSocket

Клиент инициирует рукопожатие WebSocket запросом следующего вида. Обратите внимание, что сначала это HTTP-запрос GET (HTTP/1.1 или более поздней версии), содержащий заголовок Upgrade, указывающий на намерение переключиться на соединение WebSocket. В запросе также содержится Sec-WebSocket-Key, который используется при вычислении Sec-WebSocket-Accept для подтверждения намерения переключить соединение на WebSocket.

GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13

Ответ сервера должен содержать заголовок Sec-WebSocket-Accept со значением, вычисленным на основе заголовка Sec-WebSocket-Key из запроса, и подтверждать намерение переключить соединение на WebSocket:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Спецификации

Спецификация
Протокол WebSocket>
# section-11.3.3>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
Sec-WebSocket-Accept 16 12 11 15 6 18 14 14 6 1.0 4.4 6

См. также

  • Sec-WebSocket-Key
  • Sec-WebSocket-Version
  • Sec-WebSocket-Protocol
  • Sec-WebSocket-Extensions
  • Рукопожатие WebSocket в статье Создание серверов WebSocket
  • Механизм обновления протокола HTTP

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-WebSocket-Accept

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API