Spec-Zone.ru › HTTP

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

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

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

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

  • Подробнее
  • Полная таблица совместимости
>

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

В запросе этот заголовок может появляться только один раз и указывает версию WebSocket, используемую веб-приложением. На момент написания актуальная версия протокола — 13. Пользовательские агенты автоматически добавляют этот заголовок в запросы при установлении соединения WebSocket.

Сервер использует указанную версию, чтобы определить, может ли он работать с этим протоколом. Если сервер не поддерживает эту версию или не понимает какой-либо заголовок в рукопожатии либо его значение некорректно, серверу следует отправить ответ со статусом 400 Bad Request и немедленно закрыть сокет. В ответе 400 также следует включить Sec-WebSocket-Version со списком поддерживаемых версий. Версии можно указать в отдельных заголовках или перечислить через запятую в одном заголовке.

Если сервер поддерживает версию, указанную клиентом, заголовок не следует отправлять в ответе.

Тип заголовка Заголовок ответа
Запрещённый заголовок запроса Да (префикс Sec-)

Синтаксис

Запрос

Sec-WebSocket-Version: <version>

Ответ (только при ошибке):

Sec-WebSocket-Version: <server-supported-versions>

Директивы

<version>

Версия протокола WebSocket, которую клиент хочет использовать для обмена данными с сервером. Следует указывать самую последнюю доступную версию из реестра номеров версий WebSocket IANA. Последняя окончательная версия протокола WebSocket — 13.

<server-supported-versions>

При ошибке — список версий протокола WebSocket, поддерживаемых сервером, разделённых запятыми. Если поддерживается <version>, заголовок не отправляется в ответах.

Примеры

>

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

Версия, поддерживаемая клиентом, указывается в исходном WebSocket запросе рукопожатия. Для текущей версии протокола используется номер «13», как показано ниже.

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

Если сервер поддерживает версию 13 протокола, то Sec-WebSocket-Version не будет присутствовать в ответе.

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

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

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
Sec-WebSocket-Version 16 12 11 15 6 18 14 14 6 1.0 4.4 6

См. также

  • Sec-WebSocket-Accept
  • Sec-WebSocket-Key
  • Sec-WebSocket-Protocol
  • Sec-WebSocket-Extensions
  • Рукопожатие WebSocket в статье Написание серверов WebSocket

© 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-Version

Spec-Zone.ru

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