Websocket原理解析以及和http的区别

持Websocket协议,它于2008年诞生,至今不过13年的历史,今天我们就来聊聊websocket的原理,以及它和http的区别。

websocket协议在2011年成为国际标准,它的API也被定为W3C标准,如今所有浏览器均已支持websocket。websocket的最大特点是服务器可以主动向客户端推送信息,客户端也可以主动向服务器推送信息,实现平等双向对话。而且客户端和服务器之间只需要完成一次握手,就能直接创建持久性连接。

很多网站为了实现推送,使用的都是轮询技术。每隔一段时间,客户端向服务器发出http请求,服务器再返回最新的数据给客户端。这样做有一个很明显的缺点,因为客户端要不断地向服务器发送http请求,每次都要带较长的头部,真正有效的数据可能很小,浪费了很多带宽资源。

一些轮询技术虽然也可以实现双向通信,但往往带有一些致命缺点,或者没从根本上解决问题,比如已然要客户端不断发送请求。蔚可云“全站加速”产品支持Websocket协议

为了解决这个问题,HTML5定义了websocket协议。有了这个协议,服务器能主动推送信息给客户端,打破“客户端发起请求,服务器再推送信息”这一形式,节省大量的带宽和服务器资源。

一、websocket有很多优点:

1.它建立在TCP协议之上,因此服务器实现较为容易

2.握手阶段采用http协议,与http有较好的兼容性

3.数据轻量,节省性能,通信效率高

4.可发送二进制数据

二、websocket连接过程:

1.客户端发出http请求,经过3次握手后,建立TCP连接,http请求里存放websocket支持的版本号等信息。

2.服务器收到客户端连接请求后,同样以http协议回应。

3.连接成功后,服务器和客户端便能进行双向通信。

可以看出,websocket与http有一定的关系,但关系不大,两者有交集但不是全部。

websocket需借助http完成一部分握手,只需经过一次http请求,就可以做到将源源不断的信息传送了。

以上就是关于websocket的全部内容了,websocket和http虽然有很多不用点,但有一些方面是相同的,比如它们都基于TCP协议,都是应用层协议,都是可靠性传输协议。CDN全站加速产品由于支持websocket,使得它在增加用户体验、提升应用性能方面更有优势。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值