📜  HTTP 标头 | Sec-WebSocket-Accept

📅  最后修改于: 2022-05-13 01:56:52.799000             🧑  作者: Mango

HTTP 标头 | Sec-WebSocket-Accept

HTTP 标头用于在客户端和服务器之间通过 HTTP 请求或响应传递附加信息。它们分为通用头、请求头、响应头、实体头Sec-WebSocket-Accept 标头属于响应类型标头类别。服务器使用它来提示它理解的客户端。这是一个 WebSocket 连接,它已准备好打开连接。这对于反向代理服务器来说很方便,因为它可以理解 WebSocket 握手并且不会产生无用的缓存。 Sec-WebSocket-Accept 标头在 HTTP 响应中不能出现多次。

注意: HTTP 标头通常包含一个不区分大小写的名称,后跟一个冒号 (:),然后是它的值。此处忽略值之前的空格。

句法:

Sec-WebSocket-Accept: 

指令: HTTP Sec-WebSocket-Accept 标头接受上面提到和下面描述的单个指令:

  • 服务器获取握手请求中发送的 Sec-WebSocket-Key 的值,然后附加Globally Unique Identifier (GUID, [RFC4122]) “258EAFA5-E914-47DA-95CA-C5AB0DC85B11”采用新的 SHA-1值,然后进行 base64 编码。这不太可能被不理解 WebSocket 协议的网络端点使用。

下面的示例将说明HTTP Sec-WebSocket-Accept 标头

示例:在此示例中,如果传入连接是到客户端的 WebSocket 连接,则服务器将发送 101 响应代码。

101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: MTMyNThFQUZBNS1FOTE0LTQ3REEtOTVDQS1DNUFCMERDODVCMTE=
Sec-WebSocket-Extensions: deflate-frame
Sec-WebSocket-Protocol: soap

注意:此标头不稳定,目前对该标头的研究很少。

支持的浏览器:兼容 HTTP Sec-WebSocket-Accept 标头的浏览器如下:

  • 铬合金
  • IE浏览器
  • 火狐
  • 苹果浏览器
  • 歌剧