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

相关推荐
青果全球http13 分钟前
2026年动态代理IP实测分享:跨境与数据采集的高性价比方案
网络·网络协议·tcp/ip
小yu学编程14 分钟前
TCP协议详解
服务器·网络·tcp/ip·tcp协议·网络原理·tcp特性
June bug17 分钟前
(#字符串处理)判断字符串是否为有效IPv4地址
服务器·网络·p2p
智慧化智能化数字化方案20 分钟前
安全生产——解读数字政府网络安全运营建设指南【附全文阅读】
网络·安全
七夜zippoe28 分钟前
Python网络编程实战:从TCP/IP到WebSocket的协议演进与核心技术解析
网络·python·websocket·tcp/ip·socket·心跳机制
Selenium-Wang29 分钟前
静态IP是什么意思?一文解析原理、用途与优势
网络·网络协议·tcp/ip
礼拜天没时间.34 分钟前
《Docker实战入门与部署指南:从核心概念到网络与数据管理》:初识Docker——概念与优势
linux·运维·网络·docker·容器·centos
YYYing.36 分钟前
【计算机网络 | 第十一篇】计网之应用层(二)—— 万字解析 + 图解DNS、DHCP、HTTP2.0/3.0
网络·网络协议·计算机网络·http
小李独爱秋40 分钟前
计算机网络经典问题透视:物联网和M2M通信的关系是怎样的?
运维·服务器·网络·物联网·计算机网络·m2m
czy87874751 小时前
TCP 和 IP 协议的异同
网络·网络协议·tcp/ip