HTTP 协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。由于HTTP在每次请求结束后都会主动释放连接, 因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下)。

一、长连接与短连接:


长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。
短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。C/S通信。

二、长连接与短连接的操作过程:


短连接的操作步骤是:建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接;
长连接的操作步骤是:建立连接——数据传输…(保持连接)…数据传输——关闭连接

三、长连接与短连接的使用时机:



连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况。每个TCP连接的建立都需要三次握手,每个TCP连接的断开要四次握手。如果每次操作都要
建立连接然后再操作的话处理速度会降低,所以每次操作下次操作时直接发送数据就可以了,不用再建立TCP连接。例如:数据库的连接用长连接,如果用短连接
频繁的通信会造成socket错误,频繁的socket创建也是对资源的浪费。

连接:web网站的http服务一般都用短连接。因为长连接对于服务器来说要耗费一定的资源。像web网站这么频繁的成千上万甚至上亿客户端的连接用短连
接更省一些资源。试想如果都用长连接,而且同时用成千上万的用户,每个用户都占有一个连接的话,可想而知服务器的压力有多大。所以并发量大,但是每个用户
又不需频繁操作的情况下需要短连接。
总之:长连接和短连接的选择要视需求而定。

Http 和TCP的关系,TCP长连接和短连接有什么区别?

标签:tcp   http   长连接   短链接   网络   

原文:http://blog.csdn.net/ucan23/article/details/45786849

版权声明:本文为Berryxiong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Berryxiong/p/6220970.html