TCP与UDP

udp:面向无连接的通信协议,数据包括目的端口信息和源端口信息

优点:面向无连接,操作简单,要求系统资源较少,速度快,由于不需要连接,可进行广播发送

缺点:发送数据之前不需要与对方建立连接,接收到数据时也不需要发送确认信号,发送端不知道接收端是否正确接接收,不会重发,不可靠。

tcp:面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手断开连接

优点:在数据传输时,有确认、窗口、重传、拥塞控制机制,能保证数据正确性,较为可靠

缺点:速度相对慢一点,要求系统资源较多

短连接

连接->传输数据->关闭连接

比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。

具体就是 浏览器client发起并建立TCP连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse报文给前端,发送完毕之后立即调用socket.close方法->client接收response报文->client最终会收到server端断开TCP连接的信号->client 端断开TCP连接,具体就是调用close方法。

也可以这样说:短连接是指SOCKET连接后,发送接收完数据后马上断开连接。因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。这也是HTTP协议无状态的原因之一。

长连接

连接->传输数据->保持连接 -> 传输数据-> ………..->直到一方关闭连接,多是客户端关闭连接。长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。

HTTP在短链接和长连接上的选择:HTTP是无状态的 ,也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。

如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话

HTTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持(貌似最新的HTTP1.1 可以显示的指定 keep-alive),但还是无状态的,或者说是不可以信任的。

如果浏览器或者服务器在其头信息加入了这行代码 Connection:keep-alive TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了带宽。

实现长连接要客户端和服务端都支持长连接。

优缺点

tcp长连接优缺点:长连接可以省去较多的tcp建立/关闭的操作,减少浪费,节省时间,对于频繁请求资源的客户,较适用于长连接;client和server如果长时间不关闭的话,会存在一个问题,随着客户的越来越多,server早晚会有扛不住的一天,这时需要采取一些策略,如关闭一些长时间不读写操作的连接,这样可以避免一些恶意连接导致server端服务受损,如果条件再允许,就可以以客户端为颗粒度,限制每个客户端的最大连接数

tcp短连接优缺点:短连接对于服务器来说较为简单,存在的连接都是有用的连接,不需要额外的控制,但如果客户端连接频繁,会在tcp的建立和关闭上浪费时间。

本文来自:https://blog.csdn.net/qq_38270106/article/details/83539289

Python火热时期,小编给正在学习中的人,赠送一套Python学习精品视频,加下方小编微信,备注 Python 领取

相关阅读

jmeter,学这些重点就可以了

Jmeter+Ant 接口自动化环境配置指南

Jmeter系列-阶梯式加压神器


出品:转载

排版:可乐超

切记要备注 Python

长连接和短连接区别和优缺点相关推荐

  1. http和socket之长连接和短连接区别

    TCP/IP  TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.  在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.  在传输层中有TCP协议与UDP协议. ...

  2. socket解读,http和socket之长连接和短连接区别!

    TCP/IP  TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.  在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.  在传输层中有TCP协议与UDP协议. ...

  3. TCP/IP系列——长连接与短连接的区别

    1 什么是长连接和短连接 三次握手和四次挥手 TCP区别于UDP最重要的特点是TCP必须建立在可靠的连接之上,连接的建立和释放就是握手和挥手的过程. 三次握手为连接的建立过程,握手失败则连接建立失败. ...

  4. 什么是长连接和短连接,他们的定义区别及应用场景?

    前提: HTTP/1.0默认使用短连接,HTTP/1.1开始默认使用长连接: HTTP协议的长连接和短连接,实质就是TCP协议的长连接和短连接: TCP协议建立连接需要3次握手,断开连接需要4次握手, ...

  5. TCP长连接与短连接的区别

    TCP/IP   TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.  在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.  在传输层中有TCP协议与UDP协议 ...

  6. http的长连接和短连接的区别

    http的长连接和短连接的区别 一.长连接与短连接: 长连接:客户端与服务端先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于通讯连接一直存在. 短连接:客户端与服务端每进行一次报 ...

  7. 长连接和短连接的区别、长连接的实现

    长连接和短连接的区别及原理 一.长连接与短连接: 长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于通讯连接一直存在.此种方式常用于P2P通信 ...

  8. 长连接与短连接的区别以及使用场景

    首先介绍下短链接和长连接的区别: 短连接 连接->传输数据->关闭连接 比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接. 因为连 ...

  9. Http长连接和短连接的区别

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

  10. java socket 短连接_socket长连接和短连接的区别

    长连接与短连接的区别(tcp socket http概念原理是一样的) 一.长连接与短连接:长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于 ...

最新文章

  1. Veritas推出全多云环境新技术
  2. 使用lucene进行group操作
  3. JVM内存GC的骗局——JVM不抛出OOM但内存已经泄露
  4. [转]ubuntu系统重新分区、根目录扩容
  5. R语言forestmodel包使用教程
  6. Winsows VISTA启动过程解析
  7. url中传递对象参数_在URL参数中传递复杂对象
  8. 使用Apache Cassandra设置一个SpringData项目
  9. 数据结构员工通讯录管理系统 C语言,数据结构课程设计报告单位员工通讯录管理系统.doc...
  10. Qt学习笔记常用容器
  11. React传递参数的多种方式
  12. Acer宏碁笔记本触摸板失效解决方法
  13. kali linux 通过粘贴板攻击对方服务器
  14. 类似京东淘宝历史搜索自适应长度搜索项超两行折叠功能实现
  15. 百度智能音箱入局正当时,如何平台+硬件两不误?
  16. Flannel host-gw 和 vxlan
  17. 北师大1903计算机在线答案,[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(下)》在线作业-2...
  18. Labview 版本控制
  19. 说说wps jsa的ListBox控件的数组写入方法
  20. 超图举例单值专题图色带样式控制

热门文章

  1. 对于初学者来说怎么画人体比例?那Q版怎么画呢?
  2. topic是短语还是句子_Unit7topic1重点单词词组和句子
  3. matlab gui 按钮背景,Matlab gui教程0x8–自定义GUI背景图案和按钮图标
  4. c语言分数怎么化成整数,分数怎么化成整数 分数转化方法
  5. 智能配置运维系统开发工具链
  6. 战术互联网模拟训练仿真系统软件
  7. VScode+ESP32-IDF的使用
  8. 给自己的QQ群开启腾讯官方的群聊机器人
  9. 华为路由器NAT服务找不到虚拟机【解决】
  10. Snowflake数据库调研及架构介绍