当前位置: 首页 > news >正文

http的keepalive和tcp的keepalive

1.HTTP的keepalive

在http1.0的时候,每个http请求都是要求打开一个tcp socket,并且使用一次之后就断开这个tcp连接了。使用keepalive可以改善这种状态,即在一次tcp连接中可以持续发送多份数据而不会断开连接。通过使用keepalive技术可以减少tcp连接次数,也意味着可以减少time_wait状态,以此来提高性能。但是keepalive也有一定的缺点:长时间的tcp连接容易导致系统资源的无效占用。

2.TCP的keepalive

链接建立之后,如果应用程序或者上层协议一直不发送数据,或者隔很长时间才发送一次数据,当链接很久没有数据报文传输时如何去确定对方还在线,到底是掉线了还是确实没有发送数据,链接还需不需要保持,这种情况下tcp协议中给出了一个方法:当超过一段时间之后,TCP自动发送一个数据为空的报文给对方,如果对方回应了这个报文,说明对方还在线,链接可以继续保持,如果对方没有报文返回,并且重试了很多次之后则认为链接丢失,没有必要继续保持链接。

说到底,tcp的keepalive机制和http的keepalive机制是两种不同的东西,tcp的keepalive是在establish状态的时候,双方如何检测链接的可用性。而http的keepalive说的是如何避免进行重复的tcp三次握手和四次挥手。


http://www.mrgr.cn/news/8720.html

相关文章:

  • Spring面试题二
  • 【数据结构3】哈希表、哈希表的应用(集合与字典、md5算法和文件的哈希值)
  • 图像分割论文阅读:BCU-Net: Bridging ConvNeXt and U-Net for medical image segmentation
  • 用excel内容批量建立文件夹
  • 全面解析轮换IP:原理、优势与应用详解
  • 同一台主机两个github账号切换使用
  • Zookeeper的watch机制是如何工作的?
  • flink+flinkcdc+同步(MYSQL到MYSQL)实践
  • AudioNotes -将音频内容转 markdown
  • redis | 认识非关系型数据库Redis的列表类型及python如何操作redis
  • SpringBoot集成kafka-指定topic(主题)-partition(分区)-offset(偏移量)消费信息
  • 如何利用ThinkPHP6打造高效SEO优化的网站!
  • R 语言学习教程,从入门到精通,R XML 文件使用(19)
  • 【单片机】PICC编译器和XC8编译器的历史发展,有什么关系
  • fpga图像处理实战-闭运算
  • 初识C语言指针(5)
  • 巨省成本的电子版招生简章越来越流行,你知道是怎么制作的吗?
  • Java | Leetcode Java题解之第367题有效的完全平方数
  • 第六届土木工程、环境资源与能源材料国际学术会议(CCESEM 2024,10月18-20)
  • Linux网络基础