1. 背景情况
突然想起来很久以前听部门一位同事说过,Http协议适用于广域网,而TCP协议就不适用于广域网,因为Http协议是短连接,而TCP协议是长连接,开销比较大!
当时我就觉得不对,其实仔细分析就知道这种说话不成立。Http协议本身就是基于TCP协议的,发起一次Http请求之前客户端需要同服务端通过三次握手建立TCP连接。
TCP是传输层协议,而HTTP是在其之上封装的应用层协议,应用层协议有很多,你也可以封装自己的应用层协议。
以下几段内容摘自网络,最后给出自己总结的结论。
2. 长连接与短连接
二、长连接与短连接的操作过程:
短连接的操作步骤是:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接;
长连接的操作步骤是:建立连接——数据传输...(保持连接)...数据传输——关闭连接
三、长连接与短连接的使用时机:
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况。每个TCP连接的建立都需要三次握手,每个TCP连接的断开要四次握手。如果每次操作都要建立连接然后再操作的话处理速度会降低,所以每次操作下次操作时直接发送数据就可以了,不用再建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,频繁的socket创建也是对资源的浪费。