4.15 TCP Keepalive 和 HTTP Keep-Alive 是一个东西吗?

news2024/11/15 14:01:24

目录

HTTP 的 Keep-Alive

TCP 的 Keepalive

总结:


HTTP的Keep-Alive,是应用层(用户态)实现的,称为HTTP长连接;

TCP的Keepalive,是由TCP层(内核态)实现的,称为TCP保活机制。

HTTP 的 Keep-Alive

HTTP协议采用的是 请求-应答 模式,客户端发起请求,服务端返回响应,一来一回。

Keep-Alive 就是实现了可以使用同一个 TCP 连接来发送和接收多个 HTTP 请求/应答,避免了连接建立和释放的开销,这个方法称为 HTTP 长连接

 请求的包头中添加:(从 HTTP 1.1 开始, 就默认是开启了 Keep-Alive

Connection: Keep-Alive

为了避免资源浪费的情况,web 服务软件一般都会提供 keepalive_timeout 参数,用来指定 HTTP 长连接的超时时间。 定时器的时间一到,就会触发回调函数来释放该连接。

TCP 的 Keepalive

TCP 的 Keepalive 这东西其实就是 TCP 的保活机制,需要通过 socket 接口设置 SO_KEEPALIVE 选项才能够生效。该功能是由「内核」实现的,当客户端和服务端长达一定时间没有进行数据交互时,内核为了确保该连接是否还有效,就会发送探测报文,来检测对方是否还在线,然后来决定是否要关闭该连接。

总结:

HTTP 的 Keep-Alive 也叫 HTTP 长连接,该功能是由「应用程序」实现的,可以使得用同一个 TCP 连接来发送和接收多个 HTTP 请求/应答,减少了 HTTP 短连接带来的多次 TCP 连接建立和释放的开销。

TCP 的 Keepalive 也叫 TCP 保活机制,该功能是由「内核」实现的,当客户端和服务端长达一定时间没有进行数据交互时,内核为了确保该连接是否还有效,就会发送探测报文,来检测对方是否还在线,然后来决定是否要关闭该连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上门送卡激活会有危险吗?小心提防这些套路!

​ 现在网上申请流量卡大部分都是快递员或者工作人员上门激活的,正常情况下是没有问题的,但是有些快递员却不太“老实”,为了避免更多人上当,小编给大家分享几个案例。 正常情况下,手机号如果需要快递小哥当面激活&am…

ES 7.6 - JAVA应用基础操作篇

ES 7.6 - JAVA应用基础操作篇 环境准备依赖配置 实体类准备使用说明索引/映射操作创建索引和映射索引和映射相关查询删除索引 文档操作插入数据更新数据删除数据批量操作 文档查询根据ID查询根据字段精准查询根据字段分词查询控制返回字段范围查询组合查询排序分页高亮搜索聚合…

【计算机协议】第一章——HTTP协议详解

前言 HTTP(Hypertext Transfer Protocol)即超文本传输协议,是一种用于传输超媒体文档(例如HTML)的应用层协议。HTTP协议采用C/S(客户端/服务器)模式,客户端发起请求,服务…

机器学习笔记 - 使用 AugMix 增强图像分类模型的鲁棒性

一、简述 图像分类模型能够预测与训练数据具有相同分布的数据。然而,在现实场景中,输入数据可能会发生变化。例如,当使用不同的相机进行推理时,照明条件、对比度、颜色失真等可能与训练集不同,并显着影响模型的性能。为了应对这一挑战,Hendrycks 等人提出了 AugMix 算法。…

基于cat12和SPM12进行VBM数据分析

一、基于cat12和SPM12进行VBM数据分析 VBM 能定量计算局部灰质体素的大小和信号强度,从而能够检测出局部脑 区的特征和脑组织成分的差异。 1.前期软件安装准备: 1.1 spm12和cat12软件安装 参考这篇文章操作: https://blog.csdn.net/qq_…

4.14 HTTPS 中 TLS 和 TCP 能同时握手吗?

目录 实现HTTPS中TLS和TCP同时握手的前提: 什么是TCP Fast Open? TLS v1.3 TCP Fast Open TLSv1.3 HTTPS都是基于TCP传输协议实现的,得先建立完可靠得TCP连接才能做TLS握手的事情。 实现HTTPS中TLS和TCP同时握手的前提: 1、…

[NLP]深入理解 Megatron-LM

1. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行(Data Parallelism),张量并行(Tensor Parallelism)和流水线并…

Vue2向Vue3过度核心技术编程式导航

目录 1 编程式导航-两种路由跳转方式1.问题2.方案3.语法4.path路径跳转语法5.代码演示 path跳转方式6.name命名路由跳转7.代码演示通过name命名路由跳转8.总结 2 编程式导航-path路径跳转传参1.问题2.两种传参方式3.传参4.path路径跳转传参(query传参)5.…

从0开始实现一个三维绘图系统

文章目录 将图像嵌入tkinter简单的绘图系统导入数据三维绘图源代码 将图像嵌入tkinter tkinter是Python标准库中自带的GUI工具,使用十分方便,如能将matplotlib嵌入到tkinter中,就可以做出相对专业的数据展示系统,很有竞争力。 在…

【C进阶】指针(一)

大家好,我是深鱼~ 【前言】: 指针的主题,在初阶指针章节已经接触过了,我们知道了指针的概念: 1.指针就是个变量,用来存放地址,地址的唯一标识一块内存空间(指针变量)&a…

centos7装docker(在线与离线)

centos7装docker(在线与离线) 小白教程,一看就会,一做就成。 1.Docker是什么 Docker是一个开源的应用容器引擎,Docker可以让开发者打包应用及依赖包到一个轻量级、可移植的容器中,然后发布到任何Linux上运行…

stm32f103+CC2500PATR2.4SK

前言 记录一下自己最近在项目中用到并使用这个模块的使用过程。 模块介绍 模块特点 CC2500PATR2.4SK是集FSK/ASK/OOK/MSK.调制方式于一体的收发模块。它提供扩展硬件支持实现信息包处理、数据缓冲、群发射、空闲信道评估、链接 质量指示和无线电波唤醒,可以采用…

【Qt学习】03:QMainWindow

QMainWindow OVERVIEW QMainWindow一、QMainWindow1.菜单栏2.工具栏3.状态栏4.铆接部件5.核心部件6.练习 二、ui资源文件 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏menu bar、多个工具栏tool bars、多个锚接部件dock widgets、一个状态栏status ba…

【SpringBoot】第二篇:RocketMq使用

背景: 本文会介绍多种案例,教大家如何使用rocketmq。 一般rocketmq使用在微服务项目中,属于分模块使用。这里使用springboot单体项目来模拟使用。 本文以windows系统来做案例。 下载rocketmq和启动: RocketMQ 在 windows 上运行…

基于ssm+vue德云社票务系统源码和论文

基于ssmvue德云社票务系统源码和论文063 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 1.选题的依据和意义 互联网时代,随着生活节奏的加快和不断上升的压力,人们急需寻找到情绪的宣泄…

你工作效率低,可能是因为不会Python...

前言 你是不是感觉你的工作非常无聊,每天有大量的重复性的工作要做,比如在我的工作中,就有很多类似的动作。每天早上要看我们DevOps流水线跑出的结果,查看各个微服务中的重复代码率是多少,有没有增加,Clea…

【Qt学习】06:事件与事件过滤器

OVERVIEW 事件与事件过滤器一、事件1.鼠标事件创建子类MyLabel重写鼠标事件提升Label控件为MyLabel 2.定时器事件timerEventQTimer 3.事件分发器(event函数)event函数重写event函数深入 二、事件过滤器1.事件过滤器2.事件处理的五个层次 事件与事件过滤器…

VMVareC++开发环境快速配置

OVERVIEW VMVareC开发环境快速配置ipgitvimgithubzshgcc&g&cmakesshifconfigmysqlnginxredisgdb VMVareC开发环境快速配置 VMVareC开发环境快速配置,为了省时间快速整理出文档方便以后快速配置, 按照这个流程直接可以快速得到一个舒适的C/C开发…

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks

这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录. 论文地址: 论文 1. 引言, 背景与定义 对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用…

用AI + Milvus Cloud搭建着装搭配推荐系统

在上一篇文章中,我们学习了如何利用人工智能技术(例如开源 AI 向量数据库 Milvus Cloud 和 Hugging Face 模型)寻找与自己穿搭风格相似的明星。在这篇文章中,我们将进一步介绍如何通过对上篇文章中的项目代码稍作修改,获得更详细和准确的结果,文末附赠彩蛋。 注:试用此…