WebSocket

WebSocket原理

WebSocket客户端首先通过HTTP协议发送几个特别的Header到Server,告诉Server我现在是HTTP请求,但我要升级到WebSocket。

Upgrade:websocket
Connection:Upgrade
Sec-WebSocket-Key: XXX
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: XX

只要服务器支持WebSocket协议(Tomcat7、Jetty7之后都是支持WebSocket的),那么服务端收到请求且建立连接成功后会返回Sec-WebSocket-AcceptSec-WebSocket-Protocol这两个header给客户端,且Http Status为101表示协议切换成功,这样客户端和服务端只要任意一方没有断开连接,就可以基于这一条通路进行通讯了。
WebSocket相比长轮询短轮询做到了真正的实时且大量节省带宽资源。

短轮询

客户端设置每过多少秒向服务器端去请求最新的数据。

长轮询

短轮询的缺陷是无效请求过多,并且请求的头部数据量占了大部分,真正的请求信息几乎很少,这样就会造成资源浪费。
在这里插入图片描述
可以看到,长轮询可以避免过多的无效请求。可是将请求挂起会占用服务器资源。服务器对HTTP请求也是有数量限制的。

websocket具体应用

等待~

参考文章
基于 HTTP 协议的几种实时数据获取技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值