长短轮询与http长连接和短链接

作者: 我是吸血鬼 | 来源:发表于2016-07-08 21:57 被阅读783次

    一、长短轮询
    1、短轮询:
    客户端向服务器端发起请求,服务器端立即返回相关信息并且关闭链接。同时客户端再次发起请求,与服务器端建立链接。
    优点:后端程序的编写简单
    缺点:大部分请求是无用的。


    2、长轮询

    与轮询不同的是服务器端会hold住链接,等待有数据的情况下返回并且关闭连接。
    区别:服务器端hold住请求,客户端不会再请求数据。
    优点:无消息的情况下不会再次发起请求
    缺点: 会耗费服务端的性能

    3、总结:
    短轮询和长轮询主要是服务器端的实现方式,如果服务器端挂起请求等待消息则实现长轮询,如果服务器端不管任何条件下都返回数据则为短轮询。这种方式可以称之为编程方式实现短轮询和长轮询。

    二、长短连接
    首先区分概念,HTTP是基于请求/响应模式的无状态协议(属于应用层协议),因此只要服务端做出了反应,则HTTP连接消失。因此,HTTP本身并没有长短连接之分,所以根本没有长短连接这种说法。
    TCP是一个双向通道,它可以保持一段时间不关闭。长连接是指TCP连接。

    1、短连接
    工作模式: 连接->传输数据->关闭连接
    客户端每一次与服务器端建立连接后进行一次HTTP操作就关闭请求。

    2、长连接
    工作模式:连接->传输数据->保持连接->传输数据.......->保持连接->传输数据->关闭连接。
    建立连接之后无论是否有数据通信都保持连接状态,存在某种机制可以销毁连接。
    3、总结
    长短连接是基于协议的,一个TCP连接是否为长连接,是通过设置HTTP的Connection Header来决定的,而且是需要客户端和服务器端都设置才有效。

    相关文章

      网友评论

        本文标题:长短轮询与http长连接和短链接

        本文链接:https://www.haomeiwen.com/subject/mgsrjttx.html