Websocket是什么?

Websocket是存在于互联网交互架构应用层的协议,虽然在实际的运用场景中websocket需要http去启动链接,但该依赖关系不是必要的。Websocket连接完全可以独立于http,之所以将连接方式建立在http之上是因为http已经提供了便捷的沟通协议。利用http的协议完成wesocket握手连接可以节省开发独立握手协议的成本。

Websocket的优势在于两台计算机传输信息的实时性。在HTTP1.1推出长连接之后,websocket和http在tcp上的性能损耗已经没有过大的差别。在HTTP之前每次交互后都需要重新建立tcp链接,因此在一个交互频繁的引用环境下,其机制非常浪费计算机资源。不过Websocket的机制是完全针对实时通讯的,所以在设计底层存在很大的差异。HTTP针对两台计算机分配了不同的角色,客户端和服务端。所有需求会通过客户端提出,服务端会做出相应的回应。所以建立在HTTP协议的交互上,只有客户端有权发出请求。如果想实时获得信息更新,客户端需要频繁的想服务器发送请求。

Websocket协议并没有划分服务端和客户端角色,而将两端都视为信息传输端。因此服务器也有了可以主动推送数据的功能,有助于任何信息更新都可以第一时间通知用户。这样的链接不仅能用在聊天软件中,也可以用于在服务器设定监视日志脚本,将任何报错信息实时推送给用户。其设计降低了交互成本,因为如果建立在http协议上,客户端必须定期调用数据,而数据在何时更新是未知的。每次调用却未获得新数据的情况下,都是一次计算机资源的浪费。而websocket是非常好的通讯解决方案。

Sources: 

http://www.52im.net/thread-331-1-1.html (该作者深入的讲解了websocket的运用原理)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值