欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

长连接和短连接的定义,优缺点以及使用场景介绍

程序员文章站 2022-12-25 18:53:33
前提: 1.http/1.0默认使用短连接,http/1.1开始,默认使用长连接 2.http协议的长连接和短连接,实质是就是tcp协议的长连接和短连接 3.tcp协议建立连接需要三次握手,这个过程...

前提:

1.http/1.0默认使用短连接,http/1.1开始,默认使用长连接

2.http协议的长连接和短连接,实质是就是tcp协议的长连接和短连接

3.tcp协议建立连接需要三次握手,这个过程会耗费网络资源和时间

4.tcp协议断开连接需要四次握手,这个过程会耗费网络资源和时间

一.长连接和短连接

长连接:是指在一个tcp连接上可以发送多个数据包,但是如果没有数据包发送时,也要双方发检测包以维持这个链连接

短连接:当双方需要有数据交互的时候,就建立一个tcp连接,本次交互完成后,就断开这个连接

注:双方指客户端和服务端

二.各自优缺点及使用场景

长连接可以省去较多建立连接和关闭连接的操作,所以比较节省资源和时间,但是长连接如果一直存在的话,第一需要很多探测包的发送来维持这个连接,第二对服务器将是很大的负荷

相对而言,短连接则不需要服务器承担太大负荷,只要存在的连接就都是有用连接,但如果客户端请求频繁,就会在tcp的建立连接和关闭连接上浪费较大的资源和时间

三.使用场景

综合长连接短连接的优缺点,我们不难发现,这两种连接没有绝对的好坏之分,只能说在不同的场景使用不同的连接才是上策

一般而言,像京东,淘宝这些大型的网站,随时随刻有成千上万的用户对服务端发送请求,一般使用短连接,因为如果用长连接的话,用户越来越多,服务器一般扛不住这么多长连接

其实现在的大部分网站,使用的都是短连接,应该还是服务器压力的问题吧

而即时通讯(比如qq)一般使用的是长连接(udp长连接),但并不是永久连接,一般也会有一个保持的时间,比如30分钟,24小时等,因为即时通讯是频繁的发送请求,使用长连接只需要建立一次连接,比较划算,同时再根据业务设置保持时间,超过这个时间就断开连接,也一定程度上保证了服务器的压力不会过大

同理,网络游戏一般也使用长连接,同理即时通讯