网站首页 > 教程文章 正文
【前言:自己总结的学习知识点的BWH原则:一、(B-Background)背景知识;二、(W-What)是什么;;三、(H-How)怎么实现的;】
HTTP链接保活,包括三个层面的从上往下依次是:应用程序层的保活、HTTP协议层的保活和TCP/IP层的保活。而我们一般关注的是应用程序层的保活,其他两层也需要了解一下,探求知识点的本质,让自己看得更深入一点。
应用程序层
HTTP链接要保活,很多人应该能够想到“心跳”机制,在应用层,自己写代码实现与服务器的定时的心跳检测,保证链接的持续性。
应用程序层面的保活主要检测的是程序的“假死”,程序的进程在,但是程序无法处理正常的请求。
HTTP协议层(OSI模型第7层)
在HTTP协议层,HTTP请求header中,也有一个属性Connection,其值为keep-alive,代表此HTTP请求建立的链接不会马上断开,而是可以进行重复的利用,节省网络资源。
HTTP接口测试:
HTTP访问网页:
TCP/IP协议层(OSI模型第3、4层)
TCP/IP协议的实现是在内核态,建立链接的3次握手协议、断开链接的4次挥手协议,此层为了保持链接的持续性
Keepalive的作用,一个作用是检测通过互联网连接的两个服务是否是活跃的;一个作用是检测连接两个服务的网络的连通性。根据Linux内核对TCP/IP协议的实现,主要有三个参数:
1、tcp_keepalive_time
最后一个数据包发送(简单ack不被认为是数据)和第一个keepalive探测之间的时间间隔;标记需要keepalive连接后,该计数器没有使用任何进一步。
2、tcp_keepalive_intvl
并发的keepalive探针之间的间隔,不管什么同时交换的连接。
3、tcp_keepalive_probes
不被承认的探测器的数量发送之前考虑死亡,通知应用程序层的连接。
猜你喜欢
- 2025-08-03 Chrome插件Talend API Tester核心竞争力与功能深度解析
- 2025-08-03 十分钟带你了解阿里、美团、滴滴、头条等互联网头部大厂面经
- 2025-08-03 什么是RPC?什么是Restful?它们有什么区别?
- 2025-08-03 基于Java实现,支持在线发布API接口读取数据库,有哪些工具?
- 2025-08-03 最近做了一个搜索接口的优化,反复压测了四次,终于达到要求了
- 2025-08-03 每天一个 Python 库:httpx异步请求,让接口测试飞起来
- 2025-08-03 20. 综合项目
- 2025-08-03 工厂模式+策略模式消除 if else 实战
- 2025-08-03 架构篇-一分钟掌握性能优化小技巧
- 2025-08-03 深度剖析:从迷茫到精通,我用「三层递进法」拆解复杂Java项目
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)