牛骨文教育服务平台(让学习变的简单)
博文笔记

长连接和短连接对比

创建时间:2017-08-10 投稿人: 浏览次数:501

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,来保持连接

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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。