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

「网络通信」HTTP 协议

HTTP

  • 🍉简介
  • 🍉抓包工具
  • 🍉报文结构
    • 🍌请求
    • 🍌响应
    • 🍌URL
      • 🥝URL encode
    • 🍌方法
    • 🍌报文字段
      • 🥝Host
      • 🥝Content-Length & Content-Type
      • 🥝User-Agent(UA)
      • 🥝Referer
      • 🥝Cookie
  • 🍉状态码
    • 🍌类别
    • 🍌常见状态码

🍉简介

HTTP 协议全称为超文本传输协议,超文本比文本更加强大,它不仅包含字符串,还可以携带一些图片、特殊格式等
HTTP 最主要的应用场景就是网站。浏览器和服务器、客户端和服务器之间传输数据的协议,很可能就是 HTTP

在这里插入图片描述


🍉抓包工具

抓包工具本质上是一个代理程序,能够获取到网络上传输的数据并显示出来,从而给程序员提供一些参考,在后面介绍 HTTP 报文格式的过程中,会频繁用到抓包工具,这里我们使用 fiddler,它专注于 HTTP 的抓包

打开一个网站,浏览器和服务器之间会进行多次 HTTP 交互,其中第一次交互拿到的是这个页面的 html

在这里插入图片描述

选中这个请求并双击,可以看到明细:

在这里插入图片描述
点击 RAW,可以查看 HTTP 请求的原始数据
下面是请求的原始数据

在这里插入图片描述

再来看下响应的原始数据

在这里插入图片描述
为了节省带宽,一般响应数据会被压缩,对上述响应解压缩得到:

在这里插入图片描述


🍉报文结构

🍌请求

HTTP 请求包含 4 个部分

  1. 首行

在这里插入图片描述

  1. 请求头:由若干个键值对组成,每个键值对占一行,键和值之间使用 : 分割
  2. 空行:请求头的结束标记
  3. 正文(body):http 的载荷部分,有的 http 请求有 body,有的没有

在这里插入图片描述

🍌响应

HTTP 响应的基本格式也是分为四个部分

  1. 首行

在这里插入图片描述
2. 响应头:这里是按照键值对的形式来组织内容
3. 空行
4. 响应正文(body):响应的载荷是 html

在这里插入图片描述


🍌URL

URL 全称为唯一资源定位符,用来描述一个网络上资源的位置
一个 URL 的完整结构如下:

在这里插入图片描述

🥝URL encode

query string(查询字符串)里是自定义的键值对,而在 URL 中,有些特殊符号,比如 / : ? @ 等都是有特定的含义,如果 query string 中也包含同样的符号,可能会使服务器 / 浏览器解析失败,比较靠谱的方法就是对上述符号进行转义(就像 C语言中用 printf 打印一些特殊符号一样,需要转义)。
除了这些特殊符号,汉字也要进行转义,因为汉字的 utf8 / gbk 等编码值中可能某个字节恰好和某个符号的 ASCII 码值一致
下面举个例子,比如搜索 C++:

在这里插入图片描述


🍌方法

在这里插入图片描述
有两个典型的使用 POST 的场景:登录和上传
以登录为例,在一个网站输入账号密码登录后抓包得到的数据报的 body:

在这里插入图片描述

这里有一个比较经典的面试题:

GET 和 POST 有什么区别

GET 和 POST 本质上没有区别。使用 GET 的场景也可以替换为 POST;使用 POST 的场景也可以替换为 GET。这取决于代码是怎么写的,尤其是服务器和客户端都是自己实现的情况下
但是这两者在使用习惯上还是有区别的:

  1. GET 习惯于把数据放到 URL 的 query string 中;POST 习惯于把数据放到 body 中
  2. 语义上的区别。标准文档中,GET 的语义是用来获取数据;POST 的语义是给服务器传输数据。当然实际使用并不拘泥于上述要求
  3. 关于幂等性。标准文档中建议 GET 请求实现成幂等的;POST 则没有要求。当然 GET 在实际开发中也不一定得实现成幂等
    这里的“幂等”源于数学术语,如果每次输入的内容一定,输出的结果也一定,那就是幂等;反之,若输入内容一定,但输出不一定,则不是幂等。在计算机中,如果某个操作是幂等的,那就可以进行缓存

🍌报文字段

🥝Host

表示服务器主机的地址和端口
在这里插入图片描述


🥝Content-Length & Content-Type

这两个字段分别表示 body 中数据的长度和请求的 body 中的数据格式
HTTP 底层也是基于 TCP。连续传输多个 HTTP 数据报的话,接收方这边的接收缓冲区里就会积累多个包的数据,应用程序在读取这些数据时需要明确包与包之间的边界。通过长度可以解决粘包问题


🥝User-Agent(UA)

UA 描述了操作系统和浏览器的信息,这两个其实就是在描述用户使用什么样的设备上网

在这里插入图片描述
它里面包含了系统信息,这就可以判定系统是 PC 的系统,还是移动端的系统,此时可以根据这个信息来返回不同的页面
比如在手机浏览器的设置中手动把 UA 修改为 PC 的 UA,那么就可以访问电脑版的网页了


🥝Referer

描述当前这个页面从哪儿来,类似上层目录,所以直接在浏览器输入 URL 的路径或从收藏夹中打开的网页都是没有 referer 的


🥝Cookie

Cookie 是报头中一个非常重要的属性,它本质上是浏览器本地持久化存储数据的机制
操作系统提供了 api 操作文件,浏览器作为电脑上的一个程序,可以调用这些 api 来读写本地磁盘文件。而浏览器上运行的网页,理论上也是可以通过浏览器提供的 api 来读写本地文件,但是为了保证安全性,浏览器禁止这种做法,也就是说它没有给网页提供这样的 api。不然有些不法分子搞一些恶意网站,你点进去之后它就会把你电脑上的文件删掉,这样势必会造成巨大损失!
不过有些网站需要把一些信息保存到浏览器这边,比如登录界面需要保存用户的身份信息。所以浏览器给网页提供了这样的 api:可以有限度地存储数据,但不能随意访问文件系统

Cookie 就是一种经典的存储数据的机制,它将存储的数据按照键值对的形式存储起来,其中键值对是由程序员自定义的,和 query string 差不多,因此不同网站的 Cookie 都是不一样的

在这里插入图片描述

HTTP 请求中的 Cookie 字段就是把本地存储的 Cookie 信息发送到服务器。相应地,HTTP 响应中会有一个 Set-Cookie 字段,这个是服务器告诉浏览器要在本地保存哪些信息
通常在首次访问 / 登录成功之后服务器会把数据返回给浏览器,然后 Cookie 会以域名为维度存储在浏览器本地主机的硬盘上,比如浏览器访问 Gitee,就有一组 Cookie,访问 B 站,又有一组 Cookie,这些 Cookie 之间互不冲突,后续每次访问服务器都会带上对应网站的 Cookie
不同的客户端保存的 Cookie 是不同的,即使是同一台主机,使用不同的浏览器,Cookie 大概率也是不同的

在这里插入图片描述
在这里插入图片描述
Cookie 用途就是在客户端保存数据,其中保存的数据最主要是用户的身份标识,这样服务器就可以通过标识来区分用户。它一般不会保存其他业务数据,这些数据存在服务器,通过 Cookie 中的身份标识可以找到这些数据

有个典型的场景:在某个页面登录之后,下次登录就不用再输入账号密码,因为首次输入账密后这些信息就会保存在磁盘,下次进入网页时就会先从本地读取磁盘拿到账密。发送 HTTP 请求后服务器收到 Cookie 中的用户信息后就通过身份验证了,所以不用再手动输入账密

补充:页游中的账号密码等信息一般不是放在 Cookie 中的,因为浏览器保存的密码都是明文密码,放到 Cookie 中不安全


🍉状态码

🍌类别

在这里插入图片描述

🍌常见状态码

  1. 200 OK
    打开 Fiddler,放眼望去基本都是 200,它表示请求已经成功处理
    在这里插入图片描述
  2. 404 Not Found
    这个也很常见,Not found 表示访问的资源没找到,此处的资源指的是 URL 中的路径
    比如输入一个不存在的网址:

在这里插入图片描述

  1. 403 Forbidden
    表示请求的资源没有权限访问

  2. 405 Method Not Allowed
    如果你的服务器只支持 GET 请求,但是你发了一个 POST 请求,那就会出现这个状态码

  3. 500 Internal Server Error
    表示服务器内部错误,遇到这种情况可能是服务器挂了

  4. 504 Gateway Timeout
    访问服务器超时了,这可能是服务器挂了,也可能是网断了

  5. 302 Move temporarily
    临时重定向,表示资源临时移动到新的位置。除了 302,301 也表示重定向,不过它是永久性的。重定向的时间会影响浏览器的缓存,如果是永久性的,那么浏览器会把重定向的结果记录下来,后续再次访问就会直接访问重定向的目标地址,不用多一次跳转了;而如果是临时性的,那就不太方便缓存了
    重定向报文的响应中会有一个特殊的 header:Location,它描述了重定向的目标地址在哪儿

相关文章:

「网络通信」HTTP 协议

HTTP 🍉简介🍉抓包工具🍉报文结构🍌请求🍌响应🍌URL🥝URL encode 🍌方法🍌报文字段🥝Host🥝Content-Length & Content-Type🥝User…...

科普文:后端性能优化的实战小结

一、背景与效果 ICBU的核心沟通场景有了10年的“积累”,核心场景的界面响应耗时被拉的越来越长,也让性能优化工作提上了日程,先说结论,经过这一波前后端齐心协力的优化努力,两个核心界面90分位的数据,FCP平…...

LeetCode-day23-3098. 求出所有子序列的能量和

LeetCode-day23-3098. 求出所有子序列的能量和 题目描述示例示例1:示例2:示例3: 思路代码 题目描述 给你一个长度为 n 的整数数组 nums 和一个 正 整数 k 。 一个 子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值 。 请…...

CSS3雷达扫描效果

CSS3雷达扫描效果https://www.bootstrapmb.com/item/14840 要创建一个CSS3的雷达扫描效果,我们可以使用CSS的动画(keyframes)和transform属性。以下是一个简单的示例,展示了如何创建一个类似雷达扫描的动画效果: HTM…...

单例模式懒汉模式和饿汉模式

线程安全 单例模式在单线程中,当然是安全的。但是如果在多线程中,由于并行判断,可能会导致创建多个实例。那么如何保证在多线程中单例还是只有一个实例呢? 常见的三种方式: 局部静态变量 原理和饿汉模式相似,利用static只会初始…...

python __repr__和__str__区别

1. __repr__ __repr__ 方法由 repr() 内置函数调用,用于计算对象的“正式”字符串表示形式。理想情况下,这个字符串应该看起来像一个有效的 Python 表达式,可以在适当的环境下用来重新创建具有相同值的对象。如果这不可能实现,那…...

huawei USG6001v1学习----NAT和智能选路

目录 1.NAT的分类 2.智能选路 1.就近选路 2.策略路由 3.智能选路 NAT:(Network Address Translation,网络地址转换) 指网络地址转换,1994年提出的。NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局…...

FPGA JTAG最小系统 EP2C5T144C8N

FPGA的文档没有相应的基础还真不容易看懂,下面是B站上对FPGA文档的解读(本文非对文档解读,只是为个人记录第三期:CycloneIV E最小系统板设计(一)从Datasheet上获取FPGA的基本参数_哔哩哔哩_bilibili 电源部份 核心电…...

Android 15 之如何快速适配 16K Page Size

在此之前,我们通过 《Android 15 上 16K Page Size 为什么是最坑》 介绍了: 什么是16K Page Size为什么它对于 Android 很坑如何测试 如果你还没了解,建议先去了解下前文,然后本篇主要是提供适配的思路,因为这类适配…...

学习unity官方的网络插件Netcode【一】

对bool值的个人理解: using Unity.Netcode; using UnityEngine; //个人理解:通过Rpc完成了一次客户端给服务端发消息,服务端再向所有客户端广播消息 public class RpcTest : NetworkBehaviour {public override void OnNetworkSpawn(){if (!…...

QT写一个mainWindow

切换风格的写法&#xff1a; 先看看样式效果&#xff1a; mian_window.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();void Ini…...

Java查找算法练习(2024.7.23)

顺序查找 package SearchExercise20240723; import java.util.Scanner; public class SearchExercise {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("需要多大的数组?");int size sc.nextInt();int[] array …...

洗地机哪个牌子好?四款口碑最好的洗地机排名推荐

随着“懒人经济”的出现&#xff0c;越来越多的人开始使用洗地机。洗地机哪个牌子好&#xff1f;为了帮助大家在这个琳琅满目的市场中做出明智决策&#xff0c;本文特别整理了四款口碑最好的洗地机排名推荐&#xff0c;它们凭借出色的清洁效果、智能化的操作体验以及用户的高度…...

如何提升短视频的曝光量和获客效能?云微客来解决

在流量至上的当下&#xff0c;短视频凭借其优势&#xff0c;迅速成为了众多企业获客引流的核心营销手段。进入短视频赛道后&#xff0c;如何提升短视频的曝光量和获客效能&#xff0c;就成为了众多企业亟待解决的焦点。 如果你不想投入大量的广告预算&#xff0c;还想在短视频平…...

SpringBoot开发中如何缓存数据, 减少数据库的访问频率?

一&#xff1a;自定义是否开启缓存 方法一&#xff1a; 在不同环境的配置文件中如application-dev.yml、application-test.yml、application-prod.yml&#xff0c;修改 spring.cache.type none; spring:cache:type: none 方法二&#xff1a; 自定义配置 application.yml&…...

PostgreSQL如何在windows/linux开启归档

linux开启归档&#xff1a; archive_mode onarchive_command test ! -f /mnt/pg12/archivedir/%f && cp %p /mnt/pg12/archivedir/%fwindows开启归档&#xff1a; archive_mode onarchive_command copy "%p" "C:\\server\\pg12\\archivedir\\%f&q…...

【启明智显分享】基于国产Model3芯片的7寸触摸屏助力智慧医疗,电子床头屏提升护理交互

未来医院必然是以信息化为基础&#xff0c;以物联网为特征&#xff0c;以医疗为核心的服务型医院。病房作为医院的重要服务场所&#xff0c;成为智慧医院建设的重要一环。 为提高医护人员与患者的互动交流&#xff0c;给医疗注入智慧元素&#xff0c;让患者享受智能服务&#…...

从理论到实践:如何用 TDengine 打造完美数据模型​

在用 TDengine 进行数据建模之前&#xff0c;我们需要回答两个关键问题&#xff1a;建模的目标用户是谁&#xff1f;他们的具体需求是什么&#xff1f;在一个典型的时序数据管理方案中&#xff0c;数据采集和数据应用是两个主要环节。如下图所示&#xff1a; 对于数据采集工程师…...

可以免费合并pdf的软件 合并pdf文件的软件免费 合并pdf的软件免费

在数字化办公的今天&#xff0c;pdf格式因其稳定性和跨平台兼容性被广泛使用。然而&#xff0c;当我们需要将多个 pdf 文件合并为一个时&#xff0c;却往往感到力不从心。本文将为你介绍几款强大的pdf文件合并软件&#xff0c;让你轻松管理文档。 方法一、使用pdf转换器 步骤1…...

【排序 滑动窗口 】1498. 满足条件的子序列数目

本文涉及至知识点 排序 C算法&#xff1a;滑动窗口总结 LeetCode1498. 满足条件的子序列数目 给你一个整数数组 nums 和一个整数 target 。 请你统计并返回 nums 中能满足其最小元素与最大元素的 和 小于或等于 target 的 非空 子序列的数目。 由于答案可能很大&#xff0c;…...

RabbitMQ普通集群搭建指南

RabbitMQ普通集群搭建指南 本文已经完全迁移至&#xff0c;www.geekery.cn 后续不在此更新 目标架构 本次搭建的目标是构建一个由三个节点组成的RabbitMQ集群&#xff0c;节点信息如下&#xff1a; rabbit02: IP地址 192.168.10.132rabbit03: IP地址 192.168.10.133rabbit04:…...

AGV平面坐标系变换公式及实例

1、AGV坐标系简介 如上图&#xff0c;小车前后对角是有激光雷达的&#xff0c;其坐标系称为激光坐标系&#xff0c;采用极坐标系体现。中间为车体坐标系&#xff0c;激光坐标系相对于车体坐标系关系不变&#xff1b;左下角是地图坐标系&#xff0c;小车扫图后&#xff0c;建立的…...

es切片和集群

解决单点故障 支持高并发 解决海量数据 1.cluster 集群&#xff1a;包含多个节点&#xff0c;每个节点属于哪个集群是通过一个集群名称&#xff08;集群名称&#xff0c;默认是elasticsearch&#xff09;来决定的&#xff0c;对于中小型应用来说&#xff0c;刚开始一个集群就…...

IEEE官方列表会议 | 第三届能源与环境工程国际会议(CFEEE 2024)

会议简介 Brief Introduction 2024年第三届能源与环境工程国际会议(CFEEE 2024) 会议时间&#xff1a;2024年12月2日-4日 召开地点&#xff1a;澳大利亚凯恩斯 大会官网&#xff1a;CFEEE 2024-2024 International Conference on Frontiers of Energy and Environment Engineer…...

深度学习中的正则化技术 - Dropout篇

序言 在深度学习的浩瀚领域中&#xff0c;模型过拟合一直是研究者们面临的挑战之一。当模型在训练集上表现得近乎完美&#xff0c;却难以在未见过的数据&#xff08;测试集&#xff09;上保持同样优异的性能时&#xff0c;过拟合现象便悄然发生。为了有效缓解这一问题&#xf…...

《昇思 25 天学习打卡营第 18 天 | 扩散模型(Diffusion Models) 》

《昇思 25 天学习打卡营第 18 天 | 扩散模型&#xff08;Diffusion Models&#xff09; 》 活动地址&#xff1a;https://xihe.mindspore.cn/events/mindspore-training-camp 签名&#xff1a;Sam9029 扩散模型&#xff08;Diffusion Models&#xff09; 扩散模型概述 扩散模…...

【Django+Vue3 线上教育平台项目实战】Elasticsearch实战指南:从基础到构建课程搜索与数据同步接口

文章目录 前言一、Elasticsearch倒排索引 二、Docker 搭建 ESDocker 安装Docker 搭建 ES 三、ES基础语法创建索引查看索引删除索引添加数据查询数据修改数据删除数据条件查询分页查询排序 多条件查询andor 范围查询 四、ES在项目中的应用示例 前言 在数据驱动的时代&#xff0c…...

libtins初探-抓包嗅探

libtin 一、概述1. 可移植性2. 特性 二、基础知识1. PDU2. 地址类3. 地址范围类4. 网络接口5. 写pcap文件 三、嗅探1.嗅探基础2. 嗅探器配置3. 循环嗅探4. 使用迭代器嗅探6. 包对象7. 读取pcap文件8. 包的解析 四、发送包1. 发送网络层pdu2. 发送链路层pdu3. 发送和接收响应校验…...

大语言模型-Bert-Bidirectional Encoder Representation from Transformers

一、背景信息&#xff1a; Bert是2018年10月由Google AI研究院提出的一种预训练模型。 主要用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;特别是机器阅读理、文本分类、序列标注等任务。 BERT的网络架构使用的是多层Transformer结构&#xff0c;有效的解决了长…...

bug诞生记——动态库加载错乱导致程序执行异常

大纲 背景问题发生问题猜测和分析过程是不是编译了本工程中的其他代码是不是有缓存是不是编译了非本工程的文件是不是调用了其他可执行文件查看CMakefiles分析源码检查正在运行程序的动态库 解决方案 这个案例发生在我研究ROS 2的测试Demo时发生的。 整体现象是&#xff1a;修改…...

Matlab演示三维坐标系旋转

function showTwo3DCoordinateSystemsWithAngleDifference() clear all close all % 第一个三维坐标系 origin1 [0 0 0]; x_axis1 [1 0 0]; y_axis1 [0 1 0]; z_axis1 [0 0 1];% 绕 x 轴旋转 30 度的旋转矩阵 theta_x 30 * pi / 180; rotation_matrix_x [1 0 0; 0 cos(th…...

redis的持久化机制以及集群模式

1.redis的持久化机制 内存数据库具有高速读写的优势&#xff0c;但由于数据存储在内存中&#xff0c;一旦服务器停止或崩溃&#xff0c;所有数据将会丢失。持久化机制的引入旨在将内存中的数据持久化到磁盘上&#xff0c;从而在服务器重启后能够恢复数据&#xff0c;提供更好的…...

【论文解读】大模型算法发展

一、简要介绍 论文研究了自深度学习出现以来&#xff0c;预训练语言模型的算法的改进速度。使用Wikitext和Penn Treebank上超过200个语言模型评估的数据集(2012-2023年)&#xff0c;论文发现达到设定性能阈值所需的计算大约每8个月减半一次&#xff0c;95%置信区间约为5到14个月…...

WebApi配置Swagger、Serilog、NewtonsoftJson、Sqlsugar、依赖注入框架Autofac、MD5加密

文章目录 项目准备1、创建WebApi项目配置Swagger、Serilog、NewtonsoftJsonNewtonsoftJsonSwaggerSerilog 使用ORM框架SqlSugar创建Service类库构成MVC框架使用AutoFac进行依赖注入 创建用户登录接口添加用户时进行安全防护 项目准备 1、创建WebApi项目 配置Swagger、Serilog…...

【ffmpeg命令基础】视频选项讲解

文章目录 前言设置输出文件的帧数设置每秒播放的帧数设置输出视频的帧率示例1&#xff1a;更改输出视频的帧率示例2&#xff1a;将图像序列转换为视频 设置输入视频的帧率示例3&#xff1a;处理高帧率视频示例4&#xff1a;处理低帧率视频 同时设置输入和输出帧率示例5&#xf…...

使用uniapp开发小程序(基础篇)

本文章只介绍微信小程序的开发流程&#xff0c;如果需要了解其他平台的开发的流程的话&#xff0c;后续根据情况更新相应的文章,也可以根据uniapp官网的链接了解不同平台的开发流程 HBuilderX使用&#xff1a;https://uniapp.dcloud.net.cn/quickstart-hx.html 开发工具 开始…...

vue3【详解】组合式函数

什么是组合式函数&#xff1f; 利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数&#xff0c;用于实现逻辑复用&#xff0c;类似 react18 中的 hook 函数名称 – 以 use 开头&#xff0c;采用驼峰命名&#xff0c;如 useTitle参数 – 建议使用 toValue() 处理&#xff08;…...

微服务实战系列之玩转Docker(六)

前言 刚进入大暑&#xff0c;“清凉不肯来&#xff0c;烈日不肯暮”&#xff0c;空调开到晚&#xff0c;还是满身汗。——碎碎念 我们知道&#xff0c;仓库可见于不同领域&#xff0c;比如粮食仓库、数据仓库。在容器领域&#xff0c;自然也有镜像仓库&#xff08;registry&…...

Python题解Leetcode Hot100之动态规划

动态规划解题步骤-5部曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 70. 爬楼梯 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到…...

你了解GD32 MCU上下电要求吗

你了解GD32 MCU的上下电要求吗&#xff1f;MCU的上下电对于系统的稳定运行非常重要。 以GD32F30X为例&#xff0c;上电/掉电复位波形如如下图所示。 上电过程中&#xff0c;VDD/VDDA电压上电爬坡&#xff0c;当电压高于VPOR&#xff08;上电复位电压&#xff09;MCU开始启动&a…...

二、【Python】入门 - 【PyCharm】安装教程

往期博主文章分享文章&#xff1a; 【机器学习】专栏http://t.csdnimg.cn/sQBvw 目录 第一步&#xff1a;PyCharm下载 第二步&#xff1a;安装&#xff08;点击安装包打开下图页面&#xff09; 第三步&#xff1a;科学使用&#xff0c;请前往下载最新工具及教程&#xff1a…...

2、程序设计语言基础知识

这一章节的内容在我们的软件设计师考试当中&#xff0c;考的题型比较固定&#xff0c;基本都是选择题&#xff0c;分值大概在2~4分左右。 而且考的还多是程序设计语言的一些基本语法&#xff0c;特别是这两年比较火的Python。 所以对于有一定要编程基础的即使本章的内容不学习&…...

ARM/Linux嵌入式面经(十八):TP-Link联洲

文章目录 虚拟内存,页表,copy on write面试题1:面试题2:面试题3:进程和线程的区别红黑树和b+树的应用红黑树的应用B+树的应用视频会议用了哪些协议1. H.323协议2. SIP协议(会话发起协议)3. WebRTC(网页实时通信)4. 其他协议io多路复用(select,poll,epoll)面试题li…...

解读vue3源码-响应式篇2

提示&#xff1a;看到我 请让我滚去学习 文章目录 vue3源码剖析reactivereactive使用proxy代理一个对象1.首先我们会走isObject(target)判断&#xff0c;我们reactive全家桶仅对对象类型有效&#xff08;对象、数组和 Map、Set 这样的集合类型&#xff09;&#xff0c;而对 str…...

【测开能力提升-fastapi框架】fastapi能力提升 - 中间件与CORS

1. 中间件 1.1 介绍&#xff08;ChatGPT抄的&#xff0c;大致可以理解&#xff09; 一种机制&#xff0c;用于在处理请求和响应之前对其进行拦截、处理或修改。中间件可以在应用程序的请求处理管道中插入自定义逻辑&#xff0c;以实现一些通用的功能&#xff0c;如身份验证、…...

centos7安装es及简单使用

为了方便日后查看&#xff0c;简单记录下&#xff01; 【启动es前,需要调整这个配置文件(/opt/elasticsearch-6.3.0/config/elasticsearch.yml)的两处ip地址,同时访问页面地址的ip:9200时,ip地址也对应修改】 【启动kibana前,需要调整这个配置文件(/opt/kibana-6.3.0/config/k…...

2024年自动驾驶SLAM面试题及答案(更新中)

自动驾驶中的SLAM&#xff08;Simultaneous Localization and Mapping&#xff0c;即同步定位与地图构建&#xff09;是关键技术&#xff0c;它能够让车辆在未知环境中进行自主定位和地图建构。秋招来临之际&#xff0c;相信大家都已经在忙碌的准备当中了&#xff0c;尤其是应届…...

HTML零基础自学笔记(上)-7.18

HTML零基础自学笔记&#xff08;上&#xff09; 参考&#xff1a;pink老师一、HTML, Javascript, CSS的关系是什么?二、什么是HTML?1、网页&#xff0c;网站的概念2、THML的基本概念3、THML的骨架标签/基本结构标签 三、HTML标签1、THML标签介绍2、常用标签图像标签&#xff…...

数学建模--图论与最短路径

目录 图论与最短路径问题 最短路径问题定义 常用的最短路径算法 Dijkstra算法 Floyd算法 Bellman-Ford算法 SPFA算法 应用实例 结论 延伸 如何在实际应用中优化Dijkstra算法以提高效率&#xff1f; 数据结构优化&#xff1a; 边的优化&#xff1a; 并行计算&…...

FLINK-checkpoint失败原因及处理方式

在 Flink 或其他分布式数据处理系统中&#xff0c;Checkpoint 失败可能由多种原因引起。以下是一些常见的原因&#xff1a; 资源不足&#xff1a; 如果 TaskManager 的内存或磁盘空间不足&#xff0c;可能无法完成状态的快照&#xff0c;导致 Checkpoint 失败。 网络问题&am…...