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浏览器
- 火狐
- 苹果浏览器
- 歌剧