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

相关推荐
一路往蓝-Anbo几秒前
【第48期】:嵌入式工程师的自我修养与进阶之路
开发语言·网络·stm32·单片机·嵌入式硬件
终端域名1 分钟前
网络架构的变革将如何影响物联网设备的设计和开发?
网络·物联网·架构
郝学胜-神的一滴1 分钟前
深入理解网络分层模型:数据封包与解包全解析
linux·开发语言·网络·程序人生·算法
凯子坚持 c2 分钟前
C++大模型SDK开发实录(二):DeepSeek模型接入、HTTP通信实现与GTest单元测试
c++·http·单元测试
门思科技3 分钟前
ThinkLink 基于 RPC 的 LoRaWAN 告警通知机制
网络·网络协议·rpc
填满你的记忆6 分钟前
【计算机网络·基础篇】TCP 的“三次握手”与“四次挥手”:后端面试的“生死线”
java·网络·网络协议·tcp/ip·计算机网络·面试
小李独爱秋21 分钟前
计算机网络经典问题透视:什么是服务质量QoS?为什么说“互联网根本没有服务质量可言?”
网络·计算机网络·安全·qos·服务质量
sun00770026 分钟前
android 系统中间件和 平台中间件 的区别,Framework等
网络
丁香结^27 分钟前
VLAN详解
网络·智能路由器
llilian_1633 分钟前
gps对时扩展装置 抢险救灾中时间同步精确的重要性分析 电力系统同步时钟
网络·功能测试·单片机·嵌入式硬件