本文重点介绍:

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

前提须知:

1.HTTP/1.0默认使用短连接,HTTP/1.1开始,默认使用长连接
2.HTTP协议的长连接和短连接,实质是就是TCP协议的长连接和短连接
3.tcp协议建立连接需要三次握手,这个过程会耗费网络资源和时间
4.tcp协议断开连接需要四次握手,这个过程会耗费网络资源和时间
5.TCP UDP HTTP Socket 区别

一.长连接和短连接

长连接:是指在一个TCP连接上可以发送多个数据包,但是如果没有数据包发送时,也要双方发检测包以维持这个链连接
短连接:当双方需要有数据交互的时候,就建立一个TCP连接,本次交互完成后,就断开这个连接

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

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

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

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

三.使用场景

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

一般而言,像京东,淘宝这些大型的网站,随时随刻有成千上万的用户对服务端发送请求,一般使用短连接,因为如果用长连接的话,用户越来越多,服务器一般扛不住这么多长连接
其实现在的大部分网站,使用的都是短连接,应该还是服务器压力的问题吧

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

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

[网络]------长连接和短连接相关推荐

  1. 网络:长连接、短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议. IP协议主要解决网络路由和寻址 ...

  2. 误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接

    引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HT ...

  3. 网络:tcp长连接与短连接

    当网络通信采用tcp协议时,在真正的读写操作之前,sever与client之间必须建立一个连接,当读写操作完成之后,对方不再需要这个连接时他们可以释放这个链接,连接的连接需要三次握手,释放需要四次握手 ...

  4. 跨进程通信,到底用长连接还是短连接

    一个完整的软件系统大多数情况下是由多个进程共同协作进行的,哪怕它们在同一台服务器上.所以,进程之间如何进行高效的通信至关重要. 单个应用程序+单个数据库这套基础开发套餐我相信每个人都经历过,甚至在初期 ...

  5. HTTP长连接和短连接以及推送服务原理(转)

    HTTP长连接和短连接以及推送服务原理 转自:http://blog.csdn.net/freewaywalker/article/details/50067757 HTTP长连接和短连接1 1. H ...

  6. HTTP长连接和短连接 + Websocket

    HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,T ...

  7. PHP tcp短链接,http请求怎样实现TCP长连接、短连接

    HTTP连接分为长连接和短连接,而我们现在常用的都是HTTP1.1,因此我们用的都是长连接. 这句话其实只对了一半,我们现如今的HTTP协议,大部分都是1.1的,因此我们平时用的基本上都是长连接.但是 ...

  8. HTTP长连接、短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议. IP协议主要解决网络路由和寻址 ...

  9. [转]TCP(HTTP)长连接和短连接区别和怎样维护长连接

    原文链接 一.HTTP协议和TCP协议 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题, ...

最新文章

  1. pycharm 常用代码签名
  2. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
  3. H5——while循环,for循环
  4. SpringBoot_web开发-扩展与全面接管SpringMVC
  5. python下载大文件
  6. 10个优秀的Objective-C和iOS开发在线视频教程
  7. python3.7怎么安装turtle_python3绘图程序教学:载入和查询Turtle模组(一)
  8. uniapp中qrcode生成二维码后传的参数不见了_二维码扫描登录,你必须知道的 3 件事...
  9. sql 数据表归档_如何在考虑规模的情况下归档SQL Server数据
  10. 如何使用计算机改进生产线,计算机系统结构复习资料
  11. 佳能G3800黄灯绿灯交替闪烁7次,错误代码5B00
  12. 卡巴斯基激活试用方法
  13. 汇编中DOSBox的使用
  14. pccad无法找到所需的动态链接库_关于PCCAD的,请大神回答!!感激不尽~~~~已经重新装过2次了!!!!...
  15. 央企整体上市进程加快 掘金央企重组股
  16. python3版本升级_python版本升级到3.7
  17. Java项目实战【超级详细】
  18. 【Java】9、Java IO 流
  19. spring jsm(一)
  20. BIOS设置与硬盘分区

热门文章

  1. WCF进阶:将编码后的字节流压缩传输
  2. 网络版ATM项目的实现——客户端
  3. VM虚拟机上的CentOS 7系统重置root用户密码
  4. java数据类型转换和数组总结
  5. HttpClient Get/Post方式调用Http接口
  6. android user版本默认开启调试模式
  7. 暑训day1解题报告
  8. Griview中的删除按钮添加“确认提示”
  9. 计算机网络(三)-体系结构
  10. c语言微信备份文件,文件保存后自动刷新微信小程序