参考答案:
在 WebSocket 协议中,Handshaking(握手) 是指客户端和服务器在建立 WebSocket 连接之前进行的一次 升级请求与确认过程。
它的作用是:
Sec-WebSocket-Protocol
、扩展 Sec-WebSocket-Extensions
等)。客户端发起请求(HTTP Upgrade 请求) 客户端首先通过 HTTP 协议 发起请求,请求头中带有一些特殊字段,表明希望将 HTTP 连接升级为 WebSocket:
1GET /chat HTTP/1.1 2Host: example.com:80 3Upgrade: websocket 4Connection: Upgrade 5Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== 6Sec-WebSocket-Version: 13
Upgrade: websocket
表示想升级协议Connection: Upgrade
表示连接类型支持升级Sec-WebSocket-Key
是客户端随机生成的一个 Base64 编码字符串,用于校验Sec-WebSocket-Version
指定 WebSocket 版本(通常是 13)服务器响应(HTTP 101 Switching Protocols) 如果服务器支持 WebSocket,它会返回 101 状态码,并在响应头中确认升级:
1HTTP/1.1 101 Switching Protocols 2Upgrade: websocket 3Connection: Upgrade 4Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
101 Switching Protocols
表示协议成功切换Sec-WebSocket-Accept
是服务端根据客户端 Sec-WebSocket-Key
计算出的校验值,保证握手合法连接建立成功 当握手完成后,HTTP 连接会升级为 WebSocket 通道,接下来就进入真正的 双向全双工通信 阶段,消息将以 WebSocket 帧的格式进行传输,而不是 HTTP。
最近更新时间:2025-08-28
题库维护不易,您的支持就是我们最大的动力!