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三次握手和四次挥手。

相关推荐
奇树谦4 小时前
Qt | 利用map创建多个线程和定时器
网络·数据库·qt
默默前行的虫虫4 小时前
nicegui地图总结
网络·python
北京盟通科技官方账号5 小时前
工业通讯底层对齐:EtherNet/IP Class 1 连接中的 32-bit Header 与内存映射逻辑
服务器·网络·网络协议·自动化·制造
@淡 定5 小时前
消息队列使用场景
网络
Tom4i5 小时前
【网络优化】Android 如何监听系统网络连接成功
android·网络
kkce7 小时前
vsping 推出海外检测节点的核心目的
大数据·网络·人工智能
Joy T7 小时前
【PE 最终章】思维链、自洽性与 Prompt 安全防御指南
网络·prompt·prompt engineer·提示词工程
一世琉璃白_Y7 小时前
Ubuntu(VMware)虚拟机网络异常排查与解决方案
linux·网络·ubuntu
AI+程序员在路上8 小时前
网桥及IP转发在嵌入式linux eth0与wlan0连接使用方法
linux·tcp/ip·php
I · T · LUCKYBOOM9 小时前
1.Apache网站优化
linux·运维·服务器·网络·apache