寄语:问题比答案更重要
建议自己先有个思考的过程,有了自己的答案或者疑问再看解析进行对比。
目前解析在逐步添加中,也可以跳转链接查看。
ajax轮询: ajax每隔一段时间向服务端发起请求,保持数据的同步。缺点是效率低,资源浪费。
long poll长轮询: 请求头的connection需要设置为keep-alive,客户端发送请求后,如果没有数据返回,服务端将这个请求挂起放入队列,直到有数据返回,客户端再次发起请求,以此轮询。优点是能减少无效的网络传输;缺点是无法处理高并发的场景。
iframe长连接: 在网页上嵌入一个iframe标签,它的src指向一个长连接请求。优点是消息传输及时;缺点是消耗服务器资源。
websocket: 双向通信,只需要连接一次,就可以相互传输数据,适合适时通讯,数据适时更新等场景。websoket协议与http协议没有关系,它是一个建立在tcp协议上的全新协议,为了兼容http握手规范,在握手阶段依然使用http协议,握手完成之后,数据通过tcp进行传输。优点是双向通信,不存在跨域限制,只用建立一次连接;缺点是长连接受网络限制比较大,需要处理好重连,只支持ie10以上版本。
websocket与http的区别:
解析或答案仅供参考。