天天看点

长连接和短连接对比

1.什么是长连接、短连接

长连接:就是 client 和 server 在发送数据之前先建立连接,完成之后才能发送数据,并且这个链接不会断开,直到数据传输完成才断开连接。

典型的就是点对点传输。

短连接:client和server只有在传输数据的时候才会建立连接,本次传输完成后立即断开连接。

典型的就是C/S。

2.长连接和短连接的操作过程

长连接:建立连接->传输数据->保持连接->传输数据->断开连接

短连接:建立连接->传输数据->断开连接…建立连接->传输数据->断开连接

3.长连接和短连接的使用分析

长连接:适用于数据传输量大,而且连接数不能太多的点对点传输

短连接:适用于连接数太大的情况,比如http服务,因为server维持连接需要耗费大量的资源,当连接过多的时候这对server是一个很大的负担,而且每一个http服务的客户端都不是频繁的需要请求数据,所以维持这个链接没有必要。

4.TCP的长短连接

从TCP协议本身来讲TCP是长连接的。

但是假如有每次建立TCP连接,然后只发送一次数据,或者说只处理一次请求,就断开连接的这种需求,此时TCP是短连接的。

TCP长连接的优缺点

优点:节省了建立连接的三次握手和断开连接的四次挥手过程

缺点:连接数很大时服务器压力较大,并发量不能太高,而且保持连接占用大量资源,如端口

5.http的长连接和短连接

http1.0是短连接的,而且不支持长连接

http1.1则支持长连接,通过设置字段Connection: keep-alive,来保持连接

总之,长连接和短连接采取哪一种需要具体情况具体采用,一般从数据流量大小、数据流向、并发量、实时性考虑采取何种连接。

继续阅读