当前位置: 首页 > news >正文

每日十题八股-补充材料-2025年2月15日

1.TCP是如何保证消息的顺序和可靠的?

写得超级好的文章
首先肯定是三次握手和四次挥手保证里通讯双方建立了正确有效的连接。
其次是校验和、序列号,ACK消息应答机制还有重传机制,保证了消息顺序和可靠。
同时配合拥塞机制和流量控制机制,来保证通讯对当前网络的敏感程度。

2.UDP怎么实现可靠传输?/如何用UDP实现HTTP

1月12日-5,已经学习过这题,但是直接回答QUIC感觉不太妥当。
其实要UDP能够可靠传输,肯定是要参考TCP来添加各种机制完善的,而且既然传输层已经使用了UDP,那么就在应用层上下功夫。参考
参考 TCP 的设计, 要保证可靠传输, 需要做以下几点工作:参考

  • 保证交付给上层的数据是完整的, 即不丢失, 因此需要设置确认机制,超时计时器。还要用校验和验证。
  • 保证交付给上层的数据是有序的,序号,请求和响应报文添加确认号和序号。
  • 控制向应用层交付数据的速率,避免应用层来不及消费数据而丢包,流量控制
  • 需要有拥塞控制机制, 当网络拥挤时, 进行拥塞控制 ,配合类似TCP的滑动串口机制。
    因此, 可靠传输的 UDP
    协议同样需要有报文序号、确认、自动重传、滑动窗口、拥塞控制等特性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    以上截图来自如何用UDP实现可靠传输?

3.HTTP的Keep-Alive是什么?TCP的Keepalive 和HTTP 的Keep-Alive 是一个东西吗?

参考
事实上,这两个完全是两样不同东西,实现的层面也不同:
HTTP 的 Keep-Alive,是由应用层(用户态) 实现的,称为 HTTP 长连接;
TCP 的 Keepalive,是由 TCP 层(传输层、内核态) 实现的,称为 TCP 保活机制;
HTTP的Keep-Alive存在与HTTP报文的头部字段是用来实现长连接的,也就是在同一个TCP连接下,能够 在一段时间内实现多个HTTP报文的请求和响应。HTTP 1.0 中默认是关闭的,需要在http头加入"Connection: Keep-Alive",才能启用Keep-Alive;
HTTP 1.1 中默认启用Keep-Alive,如果加入"Connection: close ",才关闭。。TCP 的 Keepalive 也叫 TCP 保活机制,该功能是由「内核」实现的,当客户端和服务端长达一定时间没有进行数据交互时,内核为了确保该连接是否还有效,就会发送探测报文,来检测对方是否还在线,然后来决定是否要关闭该连接。

4.CDN是什么?

参考 参考2
CDN (全称 Content Delivery Network),即内容分发网络。
CDN 是一种通过分布式缓存和智能路由技术,加速内容传输并减轻源服务器负载的网络架构。其核心原理包括内容缓存、用户请求路由和内容分发。CDN 的优势在于加速访问、提高可用性、支持高并发和节省带宽成本,适用于静态资源加速、视频流媒体、软件下载等场景。通过合理使用 CDN,可以显著提升网站或应用的性能和用户体验。

工作流程:
1.用户访问 www.example.com。
2.DNS返回一个CND专用的带有负载均衡的DNS服务器,解析将域名指向离用户最近的 CDN 边缘节点。
3.边缘节点检查是否有缓存内容:
4.如果有缓存,则直接返回给用户。
如果没有缓存,则向源服务器请求资源,缓存到边缘节点后再返回给用户。
5.用户从边缘节点获取内容,享受快速的访问体验。
在这里插入图片描述

相关文章:

每日十题八股-补充材料-2025年2月15日

1.TCP是如何保证消息的顺序和可靠的? 写得超级好的文章 首先肯定是三次握手和四次挥手保证里通讯双方建立了正确有效的连接。 其次是校验和、序列号,ACK消息应答机制还有重传机制,保证了消息顺序和可靠。 同时配合拥塞机制和流量控制机制&am…...

使用 Python 爬虫获取微店快递费用 item_fee API 接口数据

在电商运营中,快递费用是影响商家利润和用户体验的重要因素之一。微店作为国内知名的电商平台,提供了丰富的 API 接口供开发者使用,其中也包括查询商品快递费用的接口。通过调用微店的 item_fee 接口,开发者可以获取指定商品的快递…...

通过用户名和密码登录服务器有哪些方法

通过用户名和密码登录到服务器的方式取决于你使用的工具和协议。以下是几种常见的方法: 1. 使用 SSH 登录到 Linux 服务器 你可以通过 SSH(Secure Shell)使用用户名和密码连接到远程服务器。通常,你会使用 ssh 命令来进行连接。…...

sort快排

当然可以!让我们通过类似的详细步骤来解释 快速排序(Quick Sort) 的原理和实现,就像之前解释 a &= (a - 1) 的原理一样。 快速排序(Quick Sort)原理 快速排序是一种高效的排序算法,其核心思想是分而治之。它通过选择一个“基准值”(pivot),将数组分为两部分: …...

用xml配置spring, bean标签有哪些属性?

用xml配置spring, bean标签有哪些属性? 在Spring框架中&#xff0c;使用XML配置文件时&#xff0c;<bean>标签用于定义一个Bean。以下是一些常用的<bean>标签属性&#xff1a; 1. class 描述&#xff1a;指定Bean的类名。示例&#xff1a;<bean id"myBe…...

纪念日倒数日项目的实现-【纪念时刻-时光集】

纪念日/倒数日项目的实现## 一个练手的小项目&#xff0c;uniappnodemysql七牛云。 在如今快节奏的生活里&#xff0c;大家都忙忙碌碌&#xff0c;那些具有特殊意义的日子一不小心就容易被遗忘。今天&#xff0c;想给各位分享一个“纪念日”项目。 【纪念时刻-时光集】 一…...

无人机不等同轴旋翼架构设计应用探究

“结果显示&#xff0c;对于不等组合&#xff0c;用户应将较小的螺旋桨置于上游以提高能效&#xff0c;但若追求最大推力&#xff0c;则两个相等的螺旋桨更为理想。” 在近期的研究《不等同轴旋翼性能特性探究》中&#xff0c;Max Miles和Stephen D. Prior博士深入探讨了不同螺…...

1-8 gitee码云的注册与使用

码云的网址&#xff1a;Gitee - 基于 Git 的代码托管和研发协作平台 这是一个国内的托管代码平台&#xff0c;速度要比国外的快 1.0 注册 如何注册码云&#xff1f; 查考文章&#xff1a;https://jingyan.baidu.com/article/425e69e6a8cad6ff14fc1615.html 2.0 使用 使用码云进…...

嵌入式硬件篇---OpenMV的硬件流和软件流

文章目录 前言一、硬件流控制&#xff08;Hardware Flow Control&#xff09;1. 基本原理RTSCTS 2. OpenMV中的实现• 硬件要求• 代码配置• 工作流程 二、软件流控制&#xff08;Software Flow Control&#xff09;1. 基本原理XONXOFF 2. OpenMV中的实现• 代码配置• 工作流…...

Word 里面嵌入DeepSeek

目录 一、问题描述 二、解决方法 三、代码 四、注意事项 五、总结 一、问题描述 如何在Word里面嵌入DeepSeek? 二、解决方法 1、新建文档&#xff0c;按 AltF11&#xff0c;进入VB界面。 2、选中文档&#xff0c;右键->插入->模块。 3、进入模块&#xff0c;粘入…...

聊聊 IP 地址和端口号的区别

在计算机网络中&#xff0c;两个基本概念对于理解设备如何通过网络进行通信至关重要。IP 地址和端口号是 TCP/IP 的典型特征&#xff0c;其定义如下&#xff1a;IP 地址是分配给连接到网络的每台机器的唯一地址&#xff0c;用于定位机器并与其通信。相反&#xff0c;端口号用于…...

rust学习一、入门之搭建简单开发环境

1、搭建开发环境(windows11&#xff09; a.登录官网 一看就明白&#xff0c;此处略。 b.安装rustup 一看就明白&#xff0c;此处略。 c.安装 cargo script 或者 rust-script script cargo install cargo-script 完成后 注意&#xff1a;时间有一点点久。 测试 cargo s…...

浅聊MQ之Kafka与RabbitMQ简用

&#xff08;前记&#xff1a;内容有点多&#xff0c;先看目录再挑着看。&#xff09; Kafka与RabbitMQ的使用举例 Kafka的使用举例 安装与启动&#xff1a; 从Apache Kafka官网下载Kafka中间件的运行脚本。解压后&#xff0c;通过命令行启动Zookeeper&#xff08;Kafka的运行…...

【原创】解决vue-element-plus-admin无法实现下拉框动态控制表单功能,动态显隐输入框

前言 目前使用vue-element-plus-admin想要做一个系统定时任务功能&#xff0c;可以选择不同的定时任务类型&#xff0c;比如使用cron表达式、周期执行、指定时间执行等。每种类型对应不同的输入框&#xff0c;需要动态显隐输入框才行&#xff0c;但是这个vue-element-plus-adm…...

SpringBoot开发——初步了解SpringBoot

文章目录 一、SpringBoot简介 1、什么是Spring Boot2、Spring Boot的优点3、Spring Boot功能 二、Spring与Spring Boot对比三、Spring Boot与Spring MVC四、Spring Boot体系结构五、Springboot Initializr 1、Spring Initializr2、Spring Initializr模块 一、SpringBoot简介…...

双轴伺服电机驱动控制器AGV、AMR专用双伺服电机驱动控制器解决方案

工业机器人数控机床XY机械手双轴机器人堆垛机专用双轴伺服电机驱动控制器48V 14ARMS带有STO功能&#xff0c;隔离高压CAN/RS485/USB通讯支持编码器和霍尔输入 双伺服电机驱动控制器TMCM2611功能介绍 集成2个伺服电机的控制和驱动于一体供电电压48V&#xff0c;驱动电流14A RM…...

【VB语言】EXCEL中VB宏的应用

【VB语言】EXCEL中VB宏的应用 文章目录 [TOC](文章目录) 前言一、EXCEL-VB1.实验过程2.代码 二、EXCEL-VB 生成.c.h文件1.实验过程2.代码 四、参考资料总结 前言 1.WPS-VB扩展包 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、EXCEL-VB 1.实验过…...

Ubuntu添加桌面快捷方式

以idea为例 一. 背景 在ubuntu中&#xff0c;很多时候是自己解压的文件并没有桌面快捷方式&#xff0c;需要自己找到对应的目录的执行文件手动打开&#xff0c;很麻烦 而只需要在 /usr/share/applications 中创建自定义的desktop文件就能自动复制到桌面 二. 添加方法 创建desk…...

10G EPON光模块

一、10G EPON对称光模块 工作模式&#xff1a;上行突发接收、下行连续发射。 工作原理&#xff1a;当需要发送信号时&#xff0c;系统信号通过光模块的电接口把信号传送到驱动芯片&#xff0c;芯片处理后&#xff0c;驱动激光器发出调制光信号&#xff0c;经光纤发到远端&…...

Elasticsearch+Logstash+Kibana可视化集群部署

文章目录 1.组件介绍简述2.集群规划3.Es组件部署4.Logstash组件部署5.Kibana组件部署6.Kibana的基础使用 1.组件介绍简述 Elasticsearch&#xff1a;开源实时分布式搜索和分析引擎&#xff0c;支持大规模数据存储和高吞吐量&#xff0c;提供丰富的搜索功能和可扩展性。 Logsta…...

LVDS失效保护电路优化设计与工程实践

1. 新型LVDS失效保护偏置电路设计背景在高速数字信号传输领域&#xff0c;低电压差分信号&#xff08;LVDS&#xff09;技术因其低功耗、高抗干扰性和优异的信号完整性表现&#xff0c;已成为数字视频接口、工业自动化控制等场景的首选方案。我在处理多个工业相机项目时发现&am…...

OpenMMLab全家桶(mmdet+mmcv)安装新选择:用MIM一键搞定环境,告别繁琐编译

OpenMMLab全家桶环境配置革命&#xff1a;MIM工具全指南与避坑实践 刚接触OpenMMLab生态时&#xff0c;我被mmdetection和mmcv的安装过程折磨得够呛——CUDA版本冲突、PyTorch兼容性问题、漫长的编译等待…直到发现官方推出的MIM工具&#xff0c;才意识到原来环境配置可以如此优…...

NXP S32K144车规MCU:BMS与BCM选型配单指南

涉及型号&#xff1a;FS32K144HFT0VLLT、TLE75008-EMD、TJA1044T/1、TJA1044GT/3、TJA1021T/20/CM、MPQ4436AGRE-AEC1-Z、MPQ2019GN-5-AEC1-Z、DRV8243SQRXYRQ1、GD25Q128ESIGR、M24C64-DRDW3TP/K、NX3215SA-32.768KHz-STD-MUS-2、SLF10145T-220M1R9-H【引言/痛点】车身控制模块…...

AI编程助手深度定制:claude-code-config配置集实战指南

1. 项目概述&#xff1a;一个为AI编程助手深度定制的配置集如果你和我一样&#xff0c;日常开发重度依赖像Claude Code、Cursor这类AI编程助手&#xff0c;那你肯定也经历过那种“磨合期”的阵痛。助手生成的代码风格和你团队的不一致&#xff0c;一些重复性的代码片段每次都要…...

MVCC与锁联手:彻底搞懂MySQL如何解决幻读

​&#x1f4cc;关键词&#xff1a;​MySQL​​、InnoDB、MVCC、Next-Key Lock、幻读​、间隙锁、并发控制、数据库原理 大家好呀&#xff01;我是数据库小学妹&#x1f44b; 我们之前学了两个重要的并发控制技术&#xff1a;MVCC&#xff08;多版本并发控制&#xff09;让读…...

Dify Chat:基于Dify API构建的现代化AI应用前端解决方案

1. 项目概述&#xff1a;为什么我们需要一个独立的 Dify 应用前端&#xff1f;如果你正在使用 Dify 来构建和部署自己的 AI 应用&#xff0c;大概率会遇到一个痛点&#xff1a;Dify 官方提供的用户端界面&#xff0c;虽然功能完整&#xff0c;但更偏向于一个“管理后台”或“应…...

OpenCode插件实战:一键打通ChatGPT Plus,解锁GPT-5 Codex代码生成

1. 项目概述&#xff1a;一个为OpenCode注入灵魂的认证插件如果你和我一样&#xff0c;是个喜欢折腾命令行工具、追求极致开发效率的“懒人”&#xff0c;那你肯定对OpenCode不陌生。它就像一个命令行里的“超级副驾”&#xff0c;你动动嘴皮子&#xff08;其实是敲敲键盘&…...

金融AI智能体技能库:基于大语言模型的垂直领域能力封装实践

1. 项目概述&#xff1a;一个面向金融领域的智能体技能库最近在探索AI智能体&#xff08;Agent&#xff09;如何与垂直行业深度结合时&#xff0c;我注意到了eforest-finance/eforest-agent-skills这个项目。从名字就能看出&#xff0c;这是一个由eforest-finance组织维护的&am…...

SMUDebugTool深度解析:AMD Ryzen硬件调试的技术架构与实践应用

SMUDebugTool深度解析&#xff1a;AMD Ryzen硬件调试的技术架构与实践应用 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...

如何在XSLT中将动态字段值(如姓名)安全注入HTML链接的URL参数

...