Header

Sec-WebSocket-Protocol

Sec-WebSocket-Protocol报头指定了你心愿应用的一个或多个WebSocket协定,按优先级排序。第一个被服务器反对的将被服务器抉择并在响应中蕴含的Sec-WebSocket-Protocol头中返回。你也能够在头文件中应用它不止一次;后果与在单个报头中应用逗号分隔的子协定标识符列表雷同。

须要WebSocket服务器实现了相干protocol,否则这个字段没什么用。

// socket.io-clientvar socket = io({    protocols: ["control"]});// 原生var Socket = new WebSocket(url, [protocol]);

Sec-WebSocket-Version

  • 申请头
    指定客户端心愿应用的WebSocket协定版本,以便服务器能够确认其端是否反对该版本。(个别不须要改变)
Sec-WebSocket-Version: version

version: 客户端与服务器通信时心愿应用的WebSocket协定版本。这个数字应该是IANA WebSocket版本号注册表中列出的最新版本。 WebSocket协定的最新最终版本是版本13。

  • 响应头
    如果服务器不能应用指定版本的WebSocket协定进行通信,它将响应一个谬误(例如426 Upgrade Required),该谬误在其报头中蕴含一个Sec-WebSocket-Version报头,以及一个以逗号分隔的反对协定版本列表。如果服务器不反对申请的协定版本,则响应中不蕴含Sec-WebSocket-Version头。
Sec-WebSocket-Version: supportedVersions

supportVersions: 服务器反对的WebSocket协定版本的逗号分隔列表。

参考文章

  • 协定降级机制