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

相关推荐
wWYy.19 小时前
C++-集群聊天室(2):muduo网络库
网络·c++
珠海西格19 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
java干货20 小时前
微服务:把一个简单的问题,拆成 100 个网络问题
网络·微服务·架构
LcVong20 小时前
WPF MediaPlayer获取网络视频流当前帧并展示图片完整范例
网络·wpf
新缸中之脑20 小时前
Moltbook:OpenClaw的社交网络
网络
岚天start20 小时前
Python HTTP服务器添加简单用户名密码认证的三种方案
服务器·python·http
开开心心就好21 小时前
键盘映射工具改键位,绿色版设置后重启生效
网络·windows·tcp/ip·pdf·计算机外设·电脑·excel
不知名。。。。。。。。21 小时前
传输层————TCP/UDP
网络协议·tcp/ip·udp
zhengfei61121 小时前
MCP 将帮助防御者更努力、更智能地进行检测工程
网络
郝学胜-神的一滴21 小时前
Linux Socket模型创建流程详解
linux·服务器·开发语言·网络·c++·程序人生