短连接: 客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。
长连接: 客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接
HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。
短轮询: 浏览器定时向服务器发送请求,看有没有更新的数据。(重复发送Http请求,查询目标事件是否完成,优点:编写简单,缺点:浪费带宽和服务器资源)
长轮询: 页面发起一个到服务器的请求,然后服务器一直保持连接打开,直到有数据可以发送。发送完数据之后,浏览器关闭连接,随即又发送一个到服务器的新请求。这一过程在页面打开期间一直持续不断。(在服务端hold住Http请求(死循环或者sleep等等方式),等到目标时间发生,返回Http响应。优点:在无消息的情况下不会频繁的请求,缺点:编写复杂)
WebSocket: 客户端发送一次http websocket请求,服务器响应请求,双方建立持久连接,并进行双向数据传输,后面不进行HTTP连接,而是使用TCP连接。
参考资料:
- 误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接:https://www.cnblogs.com/zuoxiaolong/p/life49.html
- 轮询、长轮询、长连接、websocket:https://cloud.tencent.com/developer/article/1076547
- Http 长连接、短连接、长轮询、短轮询:https://www.jianshu.com/p/22dabfef3785
- http的长连接和短连接、长轮询和短轮询:https://www.jianshu.com/p/4a01aa7f7290
- 长连接、短连接、长轮询和WebSocket:http://caibaojian.com/http-connection-and-websocket.html
0 条评论。