websocket 怎么握手
时间: 2023-11-18 15:53:09 浏览: 25
WebSocket 握手过程如下:
1. 客户端向服务器发送一个 HTTP 请求,请求头中包含 Upgrade 和 Connection 字段,告诉服务器要升级协议为 WebSocket。
2. 服务器收到请求后,返回一个 HTTP 响应,响应头中包含 Upgrade 和 Connection 字段,告诉客户端同意升级协议为 WebSocket。
3. 客户端收到响应后,再次发送一个 HTTP 请求,请求头中包含 Sec-WebSocket-Key 和 Sec-WebSocket-Version 字段,告诉服务器要进行 WebSocket 握手,并且指定 WebSocket 版本号和一个随机字符串。
4. 服务器收到请求后,计算出一个 Sec-WebSocket-Accept 字段,将其加入响应头中,并将响应返回给客户端。
5. 客户端收到响应后,验证 Sec-WebSocket-Accept 字段是否正确,如果正确,则握手成功,协议升级完成。
相关问题
websocket 握手
WebSocket 握手是在客户端和服务器之间建立 WebSocket 连接时进行的一种协议交换过程。它通过 HTTP/HTTPS 协议来进行握手,具体步骤如下:
1. 客户端发送一个 HTTP 请求给服务器,包含了一些特定的头部信息,如 Upgrade、Connection、Sec-WebSocket-Key 等。
2. 服务器接收到这个请求后,会进行一些验证和解析。
3. 服务器生成一个 Sec-WebSocket-Accept 响应头,它的值是由 Sec-WebSocket-Key 经过一系列算法计算得出的。
4. 服务器返回一个 HTTP 响应给客户端,包含了状态码 101 Switching Protocols 和 Upgrade 头部,表示要升级到 WebSocket 协议。
5. 客户端接收到服务器的响应后,会进行一些验证和解析。
6. 客户端确认握手成功后,即可开始通过 WebSocket 进行双向通信。
通过 WebSocket 握手成功后,客户端和服务器就可以使用全双工通信来实时交换数据,而不需要每次都发送完整的 HTTP 请求和响应。这使得 WebSocket 成为实现实时通信的重要技术之一。
websocket握手
WebSocket握手是一种通过HTTP升级机制来建立WebSocket连接的过程。当客户端想要与服务器端使用WebSocket协议进行通信时,首先需要确定服务器端是否支持WebSocket协议。在WebSocket握手过程中,客户端会发送一个HTTP GET请求来发起握手。请求中包含一些特定的头部字段,例如Upgrade、Connection、Sec-WebSocket-Key、Origin、Sec-WebSocket-Protocol和Sec-WebSocket-Version等。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [Websocket握手](https://blog.csdn.net/weixin_45875621/article/details/123523807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
- *2* [WebSocket握手总结](https://blog.csdn.net/Edwingu/article/details/44040961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]