今天看websocket原理,发现网上有的人说websocket是HTTP长连接,有的说是webSocket TCP连接。
HTTP长连接的意思是设置connection:keep-alive的意思吗?是不是连接时间很长就算是长连接啊?
对于长轮询,发送请求后HTTP连接不断开,除非数据变动需要响应或者超时或者断网。那么在这一次轮询中HTTP连接也是长久的啊,这算是长连接吗?
为什么网上说“使用传统的 HTTP 轮询或者长连接的方式也可以实现类似服务器推送的效果,但是这类方式都存在资源消耗过大或推送延迟等问题。”使用websocket建立了连接之后服务端就会一直推送消息给客户端,而不需要像长轮询那样每次轮询都有建立新的HTTP,TCP连接。那么使用websocket的时候一直不断开连接难道不算是长连接?
轮询就是一般就是设置一个无限的循环,不停的发起ajax请求,直到得到需要的结果。
例如:
h5支付,当打开支付页面后不断发送请求,查询用户是否完成了支付
如果没有,继续请求
如果是,跳到支付成功显示页面
所以,轮询只是一波又一波的ajax请求而已,并不是长连接