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,来保持连接
总之,长连接和短连接采取哪一种需要具体情况具体采用,一般从数据流量大小、数据流向、并发量、实时性考虑采取何种连接。