出现的原因:
HTTP 的“请求 - 应答”模式是“半双工”的,虽然可以双向收发数据,但同一时刻只能一个方向上有动作,传输效率低。
更关键的一点,它是一种“被动”通信模式,服务器只能“被动”响应客户端的请求,无法主动向客户端发送数据。
不适合开发“实时通信”应用,效率低,难以实现动态页面,所以出现了 WebSocket。
WebSocket
WebSocket是一种基于 TCP 的轻量级网络通信协议,在地位上是与 HTTP“平级”的。
WebSocket 是一个“全双工”的通信协议,相当于对 TCP 做了一层“薄薄的包装”,让它运行在浏览器环境里。
WebSocket 使用兼容 HTTP 的 URI 来发现服务,但定义了新的协议名“ws”和“wss”,端口号也沿用了 80 和 443。
WebSocket 利用 HTTP 协议实现连接握手,发送 GET 请求要求“协议升级”,握手过程中有个非常简单的认证机制,目的是防止误连接。
WebSocket 是一个真正“全双工”的通信协议,与 TCP 一样,客户端和服务器都可以随时向对方发送数据。一旦后台有新的数据,服务器就可以立即“推送”给客户端,不需要客户端轮询,“实时通信”的效率也就提高了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。