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

相关推荐
Whisper_Sy3 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
Black蜡笔小新4 小时前
视频汇聚平台EasyCVR打造校园消防智能监管新防线
网络·人工智能·音视频
珠海西格电力科技4 小时前
双碳目标下,微电网为何成为能源转型核心载体?
网络·人工智能·物联网·云计算·智慧城市·能源
zfj3215 小时前
http请求完整的tcpdump抓包解读
网络协议·http·抓包·tcpdump
wifi chicken5 小时前
Linux Wlan L3~L2封包逻辑详解
linux·网络·ping·封包
jllllyuz6 小时前
基于MATLAB的D2D通信模式选择仿真
开发语言·网络·matlab
G31135422737 小时前
域名与IP:无限绑定的技术奥秘
网络·网络协议·tcp/ip
我不是程序员yy8 小时前
计算机网络七层模型,每层功能 + 经典协议详解
网络
bjxiaxueliang8 小时前
一文掌握Python Flask:HTTP微服务开发从入门到部署
python·http·flask
byzh_rc9 小时前
[数学建模从入门到入土] 评价模型
网络·人工智能·深度学习·数学建模·回归·ar