WebSocket是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信,能实现实时通讯。
websocket和http两者区别:
1、websocket支持全双工通信,实时性更强,http是单向通信
2、更好的二进制支持。
3、较少的控制开销:连接创建后,WebSockete客户端、服务端进行数据交换时,协议控制的数据包头部较小。
4、支持扩展。
注:什么是单工、半双工、全工通信?
1、信息只能单向传送为单工;
2、信息能双向传送但不能同时双向传送称为半双工;
3、信息能够同时双向传送则称为全双工。
Websocket通信:
connection建立成功之后,客户端与服务器的通讯完全是自由的,客户端可以主动发送消息,同理服务端也可以主动进行消息推送。
而http请求只能一个request对应一个response,所以服务端不能做到真正意义上的主动发送消息。
而且websocket连接建立起后只需要通过数据帧来进行传输,帧的头部信息远比http的head隐形的小伙了,会节省大量的带宽。更适合做长时间的数据传输。
缺点:需要一直维持连接,服务器的端口资源消耗较大。
WebSocket与HTTP的联系:
WebSocket也是基于TCP,都是可靠的协议。
WebSocket和Http协议一样都属于应用层协议,WebSocket在建立握手连接时,数据是通过http协议传输的,但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的,即websocket握手部分有用到http部分的
免责声明:文章源自网络,版权归原作者所有,如有侵犯联系删除。