WebSocket

本文最后更新于:2023年12月5日 晚上

WebSocket 是 HTML5 出的东西(协议)

WebSocket 协议的目标是在一个独立的持久连接上提供全双工双向通信。客户端和服务器可以向对方主动发送和接受数据。在 JS 中创建 WebSocket 后,会有一个 HTTP 请求发向浏览器以发起请求。在取得服务器响应后,建立的连接会使用 HTTP 升级将 HTTP 协议转换为 WebSocket 协议。也就是说,使用标准的 HTTP 协议无法实现 WebSocket,只有支持那些协议的专门浏览器才能正常工作。

由于 WebScoket 使用了自定义协议,所以 URL 与 HTTP 协议略有不同。未加密的连接为 ws://,而不是 http://。加密的连接为 wss://,而不是 https://。

WebSocket 是应用层协议,是 TCP/IP 协议的子集,通过 HTTP/1.1 协议的 101 状态码进行握手。也就是说,WebSocket 协议的建立需要先借助 HTTP 协议,在服务器返回 101 状态码之后,就可以进行 websocket 全双工双向通信了,就没有 HTTP 协议什么事情了

WebSocket 是基于 TCP 的,TCP 的握手和 WebSocket 的握手是不同层次的。
TCP 的握手用来保证链接的建立,WebSocket 的握手是在 TCP 链接建立后告诉服务器这是个 WebSocket 链接,服务器你要按 WebSocket 的协议来处理这个 TCP 链接。


WebSocket
http://blog.lujinkai.cn/运维/基础/网络/WebSocket/
作者
像方便面一样的男子
发布于
2020年12月7日
更新于
2023年12月5日
许可协议