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

我的HTTP和HTTPS

注释:本文章架构跟随小林coding,在此基础上加深个人理解

小林coding:https://xiaolincoding.com/network/2_http/http_interview.html

HTTP基本概念

HTTP是什么?

http的中文名是超文本传输协议,超文本就是html,css,照片视频等不仅限于文档的资源,他是一个在计算机世界专门在两点间传输超文本数据的约定和规范,为什么说两点,因为不止是客户端和服务端之间传输,也可以是服务端之间传输。

HTTP常见的状态码?

状态码可以分为五大类

类别

含义

常见状态码

1**

提示信息,表示目前是协议处理的中间状态,还需要后续的操作

2**

成功,报文已经收到并被正确处理

200 204 206

3**

重定向,资源位置发生变动

301 302 304

4**

客户端错误,请求报文有误,服务器无法处理

400 403 404

5**

服务器错误,服务器在处理请求时内部发生错误

500 501 502 503

HTTP常见字段有哪些?

Host:表示请求的域名

Content-Length:服务器响应数据的长度

Connection:如果这个字段的值为Keep-Alive,说明开启长连接,所谓长连接,就是只用进行一次TCP握手,然后就可以在发生中断请求以前进行没有次数限制的HTTP请求响应,HTTP1.1默认都是开启的,但是老版本需要手动设置。

Content-Type:表示服务器响应数据的格式

GET与POST

GET和POST的区别?

GET在RFC规范里是从服务器获取指定的资源,一般是只读操作,而且参数是在url中的,而且浏览器会对url长度作出限制,而POST是根据请求报文中的内容对指定资源做出处理,参数是写在报文body中,且无长度限制。

GET和POST方法都是安全和幂等吗?

先说安全,从两个方面来讲,第一点是对于我们使用者来讲,我们要发送的数据安全吗?显然使用get是最不安全的,因为我们的参数信息就在url路径中,有眼睛就可以看到,难道post就是安全的吗?对一些懂行的人来说,也不安全,因为在http报文中的信息是明文,也就是未经加密的数据。另一个人角度就是对于服务器的资源来讲,使用get请求,因为是只读操作,所以并不会对服务器的资源造成影响,是安全的,对于post请求来讲就不是了,因为他会对服务器的资源造成修改,所以不安全。当然按照这个角度安不安全取决于你对于服务器资源的操作,只读就安全,更新就不安全。

再说幂等,什么是幂等?就是多次操作,可以获得同一个结果,显然易见,get幂等,因为只读,post非幂等,因为更新,当然这些说法是按照RFC规定的,在现实中谁会管你怎么操作呢?所以安不安全,幂不幂等,取决于你对服务器资源的操作。

HTTP特性

HTTP1.1的优点有哪些?

首先HTTP1.1的优缺点可以一起说,可以说是一把双刃剑

第一点:无状态,所谓无状态,就是客户端信息不会存储在服务器,这极大的节省了服务器的资源,但是也面临一些问题,比如对一些需要连续验证客户端权限的操作:注册-登录-购买-付款等等,这就需要在每一步的操作中都要去对客户端的权限进行校验,但是这个问题已经有解决办法了,就是Cookie,这个就不介绍了,之前的文章已经介绍过了,一个携带SessionID的存储机制。

第二点:明文传输,明文传输的最大优点方便查阅,但同时这也是他的最大缺点,会在下一章讲解解决方法。

还有一个优点就是HTTP1.1结构简单,头部header+报文body,而且参数是key-value形式。

HTTP1.1的缺点有哪些?

缺点就是明文传输,相当于裸奔,不穿衣服,解决方案就是使用加密协议,SSL/TSL加密协议,这是HTTPS协议和HTTP协议最本质的区别,SSL/TSL协议是怎么加密的呢?对称与非对称混合机加密,现在说有点晦涩,但是后文会讲解。

HTTP/1.1的性能如何?

长连接:在HTTP1.0采用的是串行请求,即短连接,在一次请求-响应之后,需要重新建立TCP三次握手,这就麻烦了,所以1.1采用了长连接的形式,也就是只要进行一次TCP三次握手,就可以进行多次的请求-响应,除非进行终端请求。

管道传输:因为采用了长连接,这使得管道传输成为了可能,使用管道传输,就可以不用等待上一次请求的响应,就可以直接进行第二次请求,可以减少整体的响应时间,但是这也带来了另一个问题,就是队头阻塞,假如服务器处理我的第一个请求时间很长,那么后续的请求就被阻塞了,这就是对头阻塞。

HTTP缓存技术

HTTP缓存的实现方式?

强制缓存,协商缓存

强制缓存(强缓存)

浏览器判断通过HTTP头部的字段(Cache-Controller,expire)判断本地缓存的资源是否过期,若果没有过期,则可以使用,使用缓存的主动性在浏览器。状态码为200,则表示使用了强缓存。

协商缓存(弱缓存)

如果本地缓存的资源过期,那么就要浏览器就要和服务端进行协商,服务端要判断缓存资源和服务器资源是否一致,如果一致,接着使用,若不一致,返回新的资源。状态码为304,则表示使用了弱缓存。

HTTP与HTTPS

二者的区别

HTTPS在HTTP的基础上使用了SSL/TLS协议,HTTP端口为80,HTTPS端口为443,HTTPS使用了CA,数字签名的技术。

HTTPS解决了HTTP哪些区别?(对称和非对称算法)

解决了明文传输所带来的安全问题:信息加密,校验机制,安全证书。那是怎么解决的呢?

先说信息加密,TSL采用对称和非对称混合算法进行加密,先介绍一下什么是对称和非对称算法:

对称算法:采用相同的私钥进行加密和解密,这个私钥必须保密,不安全但快。

非对称算法:采用公钥和私钥,公钥公开,私钥私密,安全但慢,加密和解密没有规定使用哪个钥匙,使用不同的钥匙会有不同的效果,第一种情况:使用私钥加密,公钥解密,如果公钥可以解密,就可以确定发送方的正确性,因为私钥不可泄露,也保证了消息来源的正确性。第二种情况:使用公钥加密,私钥解密,保证了内容传输的安全,因为如果使用私钥解密成功,就确保了该内容是由配对的公钥进行加密的。

再说校验机制,校验机制的核心是哈希算法+数字签名,所谓哈希算法,就是对发送的内容计算一个哈希值,而且不能通过哈希值推导出内容,服务端会通过相同的哈希算法计算出收到内容的哈希值,这不就是我们之前说的对称加密吗,这个哈希算法就是密钥,然后比较这个哈希值是否相同,但是如果内容和哈希值都被篡改了呢?这种情况是很可能发生的,所以服务端为了杜绝这个隐患,就要判断发送方的正确性,就要使用到非对称算法,使用私钥对哈希值进行加密,这就是数字签名,然后将内容和数字签名一起发送给服务器。

过程如下:

然后是安全证书,现在又出现一个问题,如果这对公私钥被伪造,是不是又出现新的问题了,所以这对钥匙该如何保证合法性呢,这就引入了安全证书,为什么安全证书有这么大本事呢,因为是一个叫做CA的机构颁发的,类似于发身份证的警察局,没有人会质疑吧。这份安全证书包括了:内容+公钥+数字签名,服务器拿到证书后,会校验其合法性,所以就不用担心公私钥被伪造了。

HTTPS是如何建立连接的?

首先客户端向服务端索要并验证加密的公钥,然后双方协商会话的私钥,然后使用私钥进行通信,前两步就是TLS的握手阶段。

HTTP的演变

HTTP1.1相比于HTTP1.0提高了什么性能?

HTTP1.1采用了长连接,不必经常建立TCP连接,减少了开销,而且HTTP1.1实现了管道传输,发送请求可以连续发送,不必等前一个请求响应,但是有可能会造成服务端阻塞。

HTTP2做了什么优化

HTTP2实现了并发传输,在管道通信中又引入了流的概念,缓解了服务端对头阻塞的问题。HTTP2的报文采用了二进制的数据,摒弃了HTTP1.1报文的纯文本格式,增加了传输效率。

HTTP3做了什么优化

在之前版本的HTTP协议中不管怎么样,我们都会面临阻塞的问题,根本原因是HTTP所依赖的TCP协议,所以HTTP3使用了UDP协议,解决了阻塞的问题。

相关文章:

我的HTTP和HTTPS

注释:本文章架构跟随小林coding,在此基础上加深个人理解 小林coding:https://xiaolincoding.com/network/2_http/http_interview.html HTTP基本概念 HTTP是什么? http的中文名是超文本传输协议,超文本就是html&…...

python_股票月数据趋势判断

目录 前置 代码 视频&月数据 前置 1 A股月数据趋势大致判断,做一个粗略的筛选 2 逻辑: 1)取最近一次历史最高点 2)以1)中最高点为分界点,只看右侧数据,取最近一次最低点 3&#xf…...

计算机考研精炼 计网

第 19 章 计算机网络体系结构 19.1 基本概念 19.1.1 计算机网络概述 1.计算机网络的定义、组成与功能 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 …...

大数据应用开发和项目实战-Matplotlib

Matplotlib的介绍 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态,动态,交互式的图表。比如说散点图、柱状图等等。 Matplotlib的安装与…...

SQLMesh CLI 实战教程: 构建和维护数据转换管道的快速指南

在数据工程领域,构建和维护数据转换管道是一项复杂而关键的任务。SQLMesh 是一个强大的工具,可以帮助你简化这一过程。本文将带你快速了解如何使用 SQLMesh CLI 来构建和维护数据转换管道。本文的目标是在 30 分钟或更短的时间内,让你熟悉 SQ…...

行政区划代码

本文数据来源:中华人民共和国民政部 在平常数据研究和开发中,经常会用到行政区划代码。而行政区划代码的使用,因年份不同可能也不尽完全相同。故整理了1980年到2024年所有的行政区划代码。 这样不仅仅适用于研究区划代码的变更研究&#xf…...

Spring生命周期

在Spring框架中,Bean的生命周期指的是从Bean的创建到销毁的整个过程。这个过程包括了多个阶段,每个阶段都有特定的操作。下面是一个典型的Spring Bean生命周期的概述: 一. 实例化(Instantiation) 当Spring容器启动时&…...

前端连接websocket服务报错 Unexpected response code: 301

前端连接websocket服务报错 Unexpected response code: 301 引直连测试301重定向修改nginx配置 引 websocket后端服务正常,监听正常,可以通过简单的前端代码进行连接,但是通过nginx反向代理后报错Error during WebSocket handshake: Unexpec…...

C语言(5)—操作符详解

文章目录 一、操作符分类概览二、二进制与进制转换2.1 进制基本概念 三、原码、反码与补码3.1 基本概念 四、位操作符详解 一、操作符分类概览 C语言中的操作符可以分为以下几大类&#xff1a; 算术操作符&#xff1a;, -, *, /, % 移位操作符&#xff1a;<<, >>…...

ubuntu新增磁盘挂载

1. 确认新磁盘 使用 lsblk 命令查看系统中所有的块设备&#xff0c;找出新增的磁盘。 rootzzwl:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 60G 0 disk ├─sda1 8:1 0 …...

【计网】计算机网络的类别与性能

一、计算机网络的分类 计算机网络可以根据不同的标准进行分类。下面是两种常见的分类方法&#xff1a; 1.按照网络的作用范围进行分类 广域网 (WAN): 广域网覆盖的范围非常广泛&#xff0c;通常跨越城市、国家或甚至是全球。WAN主要用于连接地理位置相隔较远的计算机和网络设…...

Field访问对象int字段,对象访问int字段,通过openjdk17 C++源码看对象字段访问原理

在Java反射机制中&#xff0c;访问对象的int类型字段值&#xff08;如field.getInt(object)&#xff09;的底层实现涉及JVM对内存偏移量的计算与直接内存访问。本文通过分析OpenJDK 17源码&#xff0c;揭示这一过程的核心实现逻辑。 一、字段偏移量计算 1. Java层初始化偏移量…...

香橙派打包qt文件报错“xcb 插件无法加载”与“QObject::moveToThread”线程错误的解决方案

PyQt 报错总结&#xff1a;打包文件过程&#xff0c;“xcb 插件无法加载”与“QObject::moveToThread”线程错误的解决方案全解析 在使用 PyQt5 搭建图形界面时&#xff0c;打包文件的过程中出现的问题&#xff0c;真难绷&#xff0c;搞了半天。 Qt 平台插件 xcb 无法加载QOb…...

Flutter 学习之旅 之 flutter 作为 module ,在 Android 的界面中嵌入Flutter界面功能的简单整理

Flutter 学习之旅 之 flutter 作为 module &#xff0c;在 Android 的界面中嵌入Flutter界面功能的简单整理 目录 Flutter 学习之旅 之 flutter 作为 module &#xff0c;在 Android 的界面中嵌入Flutter界面功能的简单整理 一、简单介绍 二、在同一个布局中同时显示 Androi…...

在android 系统上qnn sdk转换,运行模型示例

前面讲了如何配置qnn sdk的环境&#xff0c;这一篇总结下qnn 实际转换一个onnx 模型&#xff0c;并运行的实现步骤。 设备&#xff1a; 1. ubuntu22.04 的Linux 服务器。 2. 一台android手机。 一、下载模型 from optimum.onnxruntime import ORTModelForSequenceClassifi…...

docker安装Canal1.1.5,MySQL5.7踩坑

docker安装Canal 前情提示安装MySQLdocker安装MySQL1. 拉取镜像2. 创建容器映射宿主机目录3. docker run 配置mysql重启mysql新建canal用户 安装Canal创建docker网络安装Canal1.拉取canal镜像2.创建目录3.运行容器 踩坑问题1 前情提示 关于版本问题&#xff0c;官方也没有详细…...

SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换

介绍 Spring Boot通过MessageSource接口来实现国际化&#xff0c;它可以加载不同的消息资源文件&#xff0c;通常是.properties格式。通过定义不同的语言文件&#xff08;例如&#xff1a;messages_en.properties、messages_zh.properties等&#xff09;&#xff0c;可以根据用…...

C++ 嵌套类 (详解 一站式讲解)

目录 嵌套类 嵌套类的定义 嵌套类结构的访问权限 pimpl模式&#xff08;了解&#xff09; 嵌套类 嵌套类的定义 首先介绍两个概念&#xff1a; 类作用域&#xff08;Class Scope&#xff09; 类作用域是指在类定义内部的范围。在这个作用域内定义的成员&#xff08;包括…...

EasyCVR视频汇聚平台助力大型生产监控项目摄像机选型与应用

一、方案背景 在300路大型生产监控项目中&#xff0c;由于生产环境复杂多样&#xff0c;涵盖室外厂区、大型车间、室内办公区域等不同场景&#xff0c;单一类型的摄像机难以满足全方位、精细化的监控需求。EasyCVR作为一款功能强大的视频融合管理平台&#xff0c;具备灵活的视…...

解决leensa无法使用的办法:平替教程

Leensa已经完全连不上&#xff0c;并显示超时&#xff0c;至于之前有传言称他们会恢复服务也完全是无稽之谈。 那么&#xff0c;Leensa停止服务后&#xff0c;广大的外贸人&#xff0c;设计人&#xff0c;留学生以及技术人学习&#xff0c;查资料以及开发客户该怎么办呢&#…...

算法思想之哈希表

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;算法思想之哈希表 发布时间&#xff1a;2025.4.28 隶属专栏&#xff1a;算法 目录 算法介绍哈希表作用什么时候使用哈希表怎么使用哈希表 例题两数之和题目链接题目描述算法思路代码实现 判定是否互为字符重排题目链…...

springboot 视频分段加载在线播放

页面访问视频资源 前端播放加载部分视频,每次选中一个时间点后 往后加载一部分视频,主要用以节省网络传输的数据量 通过ResourceHttpRequestHandler类实现&#xff0c;ResourceHttpRequestHandler支持分片加载&#xff0c;前端请求头中携带Range: bytes 0-10001&#xff0c;就…...

【题解-Acwing】868. 筛质数

题目:868. 筛质数 题目描述 给定一个正整数 n,请你求出 1∼n 中质数的个数。 输入 共一行,包含整数 n。 输出 共一行,包含一个整数,表示 1∼n 中质数的个数。 数据范围 1 ≤ n ≤ 106 时空限制 0.2s / 64MB 输入样例 8输出样例 4代码 #include...

java 和 C#操作数据库对比

Java和C#在操作数据库方面有诸多相似之处&#xff0c;但也存在一些差异&#xff0c;以下从几个方面为你进行对比&#xff1a; 数据库连接 Java 在Java中&#xff0c;使用JDBC&#xff08;Java Database Connectivity&#xff09;来连接数据库。连接数据库的步骤通常包括加载…...

用 Python打造交互式图片-音视频管理器:代码分析与实践

在 Python 的 GUI 开发领域&#xff0c;wxPython 是一个功能强大且跨平台的框架&#xff0c;适合快速构建桌面应用程序。本文将深入分析一个基于 wxPython 的交互式图片管理器项目&#xff08;SelectModelToPlayVideoAndAudio.py&#xff09;&#xff0c;该程序允许用户管理图片…...

Django 缓存框架

动态网站的一个基本权衡是它们是动态的。每当用户请求页面时&#xff0c;Web 服务器进行各种计算&#xff0c;从数据库查询到模板渲染到业务逻辑&#xff0c;以创建您网站访问者看到的页面。从处理开销的角度来看&#xff0c;这比标准的从文件系统中读取文件的服务器安排要昂贵…...

后缀数组~

子串&#xff1a;在字符串s中&#xff0c;取任意i<j,那么在s中截取从i到j的这一段就叫做s的一个子串。 后缀&#xff1a;后缀就是从字符串的某个位置i到字符串末尾的子串&#xff0c;我们定义以s的第i个字符为第一个元素的后缀为suff(i)。 suff(1)就是从第一个字符到最后一个…...

Rust 学习笔记:编程练习(一)

Rust 学习笔记&#xff1a;编程练习&#xff08;一&#xff09; Rust 学习笔记&#xff1a;编程练习&#xff08;一&#xff09;Convert temperatures between Fahrenheit and CelsiusGenerate the nth Fibonacci numberPrint the lyrics to the Christmas carol “The Twelve …...

【基础知识】常见的计算公式(一)

目录标题 定时器相关公式1. 定时器分频系数计算2. 定时器定时时间计算 波特率相关公式1. 异步串行通信波特率计算 PWM 相关公式1. PWM 占空比计算 不知道你们是不是和我一样,对定时器中的分频系数相关的计算公式,波特率计算公式等,都有点心生畏惧,其核心原因是不清楚不了解,没有…...

【AI生产力工具】Windsurf,一款AI编程工具

Windsurf 是 Codeium 公司推出的一款 AI 编程助手,它是一款集成深度上下文感知、多模型协作和实时代码管理的综合开发环境(IDE)。 Windsurf 作为 AI 编程工具的核心价值在于 “上下文感知 + 多模型协作 + 自动化工作流”,其深度集成的智能体系统(如 Flows 和 Cascade)正…...

【网络原理】TCP提升效率机制(三):延时应答和捎带应答

目录 一. 延时应答 二. 捎带应答 一. 延时应答 延时应答也是基于滑动窗口的一种提升传输效率的方式&#xff08;减少ACK数量&#xff09; 接收方收到数据之后&#xff0c;不会立刻返回一个ACK确认报文&#xff0c;而是等一会再返回ACK报文 这样做的好处&#xff1f; 1&…...

Golang|分布式索引架构

当文档数量巨大时&#xff0c;如一亿个文档&#xff0c;倒排索引难以全部放入单机内存。正排索引将热数据和冷数据分别存储在内存和磁盘中。分布式搜索引擎将数据分布在不同服务器上以应对大量数据。 倒排索引的水平切分 水平切分按关键词划分数据&#xff0c;如JAVA和算法在A服…...

【蓝桥杯省赛真题58】Scratch画台扇 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解

目录 scratch画台扇 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 四、程序编写 五、考点分析 六、推荐资料 1、scratch资料 2、python资料 3、C资料 scratch画台扇 第十五届青少年蓝桥杯scratch编程省赛真题解析 一…...

WebRTC SDK是什么?

​语音环境每年都在变&#xff0c;OKCC以前代理商的客群都是简单高效外呼为主&#xff0c;今年发现变化很大。很多代理商做的终端客户都是给其他业务系统赋能为主了。主流的还是以API对接为主&#xff0c;但是对接中发现webrtc SDK使用频率很高。 ​ ​那么什么是WebRTC SDK…...

反向代理、负载均衡与镜像流量:原理剖析、区别对比及 Nginx 配置实践

在现代网络架构中&#xff0c;反向代理、负载均衡和镜像流量是保障系统高效、稳定、安全运行的关键技术。虽然它们都涉及网络流量的管理与分发&#xff0c;但在功能、应用场景和实现方式上有着显著差异。本文将深入探讨三者的区别&#xff0c;并结合 Nginx 这一强大的开源服务器…...

PyCharm 2023升级2024 版本

windows下把老版本卸载之后&#xff0c;需要把环境变量&#xff0c;注册表信息删除。 并且把C:\Users\用户\AppData 文件夹下的 Local\JetBrains和Roaming\JetBrains 都删除&#xff0c;再重新安装 原旧项目升级的方式&#xff1a; 1.2023虚拟机的文件夹是venv 改为.venv…...

for(auto it: vec)和for(auto it: vec)的区别以及使用场景

目录 1.for(auto it: vec) 2.for(auto& it: vec) 3.总结 在 C 里&#xff0c;for(auto it: vec) 和 for(auto& it: vec) 都属于基于范围的 for 循环&#xff0c;可用于遍历容器&#xff08;像 std::vector、std::list 等&#xff09;或者数组。不过&#xff0c;它们…...

系统思考提升培训效能

彼得德鲁克曾说&#xff1a;管理者的价值&#xff0c;不在于处理了多少事务&#xff0c;而在于创造了多少不可替代的成果。效率是以正确的方法做事&#xff0c;效能则是做正确的事。在系统思考中我们看到&#xff1a;效率往往是对单点问题的反应&#xff0c;而效能则是对整体系…...

第1篇:Egg.js框架入门与项目初始化

一、Egg.js框架优势与设计理念 1. 为什么选择Egg.js&#xff1f; 作为基于Koa 2.x的渐进式企业级框架&#xff0c;Egg.js在阿里系大规模生产环境中验证成熟&#xff0c;具备以下核心优势&#xff1a; 约定优于配置 通过app/config目录结构自动加载机制&#xff0c;减少冗余配置…...

CMU-15445(1)——环境搭建

前言 最近在找完暑期实习之后&#xff0c;终于有了一些干项目外的空余时间学习新的知识&#xff0c;在这么多轮面试中&#xff0c;数据库的考察非常多&#xff0c;但孱弱的数据库基础导致我有很多次面试被问住&#xff0c;因此我希望在学习CMU-15445&#xff08;Fall 2024&…...

Web基础与HTTP协议

目录 一&#xff1a;Web基础 1.域名和dns 1.1域名的概念 &#xff08;1&#xff09;域名的结构 &#xff08;2&#xff09;域名结构类型 2.Hosts文件 &#xff08;1&#xff09;hosts文件的作用 &#xff08;2&#xff09;修改hosts文件 3.DNS 4.域名注册 &#xff0…...

数量关系7_行程问题

目录 一、基础行程1. 基础行程2. 比例法运用3. 相遇追及二、特殊情境1. 多次相遇问题(简单)2. 流水问题3. 火车过桥4. 等距离平均速度问题(简单)5. 匀加速一、基础行程 1. 基础行程 公式1:S = Vt 公式2:平均速度=(2 V1V2) / (V1+V2) 例题3(2023 广东) 某地举办了“铁…...

MTK Android12-13 App卸载加锁

实现&#xff1a;App 卸载时候需要加一层拦截锁&#xff0c;客户输入密码后才能正常卸载 文章目录 参考资料&#xff1a;实现方案涉及到修改文件修改方案实现效果 源码分析- 卸载方式一&#xff09; 设置界面进行卸载InstalledAppDetailsAppInfoDashboardFragmentAppButtonsPre…...

文号验证-同时对两个输入框验证

文号验证-同时对两个输入框验证 效果&#xff1a; 一、如果有多个文号&#xff1a; <div v-for"(item, index) in approvalForm.productApprovalTypeEvents" :key"index"> <el-form-itemlabel"文号":prop"productApprovalTypeEv…...

嵌入式面试八股文(十二)·FreeRTOS中·堆和栈

目录 1. 堆和栈 1.1 堆 1.2 栈 1.3 堆和栈的区别 1.3.1 分配方式 1.3.2 分配效率 1.3.3 生长方向 1.3.4 空间管理 1.3.5 存放内容 1. 堆和栈 1.1 堆 堆是一块用于动态分配内存的区域&#xff0c;用于存储程序运行时动态创建的对象。堆的大小可以在程序运行…...

表的增删改查

目录 1、增删改查&#xff08;CRUD&#xff09; 2、新增&#xff08;C&#xff09; 3、查询&#xff08;R&#xff09; 3.1、全列查询 3.2、指定列查询 3.3、查询字段为表达式 3.4、别名 3.5、去重&#xff1a;distinct 3.6、查询时排序 1、增删改查&#xff08;CRUD&…...

软考-软件设计师中级备考 4、数据结构

1、数据结构三要素 要素定义分类特点逻辑结构数据元素之间的逻辑关系&#xff0c;是从具体问题抽象出来的数学模型&#xff0c;与数据存储无关1. 集合结构&#xff1a;数据元素同属一个集合&#xff0c;无其他特殊关系 如一盒麦丽素豆子 2. 线性结构&#xff1a;元素存在一对…...

CMake:设置编译C++的版本

CMake提供了CMAKE_CXX_STANDARD用于设置C++的版本,比如可以通过如下方式设置使用C++23 set(CMAKE_CXX_STANDARD 23) 同时也提供了CMAKE_CXX_STANDARD_REQUIRED可以要求强制使用某个C++版本,比如: set(CMAKE_CXX_STANDARD_REQUIRED ON) 如果设置为 `ON`,那么 CMake 会要求编…...

【angular19】入门基础教程(一):项目的搭建与启动

angular现在发展的越来越能完善了&#xff0c;在vue和react的强势竞争下&#xff0c;它迎来了自己的巨大变革。项目工程化越来越好&#xff0c;也开始拥抱了vite这种高效的构建方式。所以&#xff0c;我们有必要来学习这么一个框架了。 项目实现效果 nodejs环境 Node.js - v^…...

在使用Python的Selenium库打卡网页后,通过CDP命令获取所有cookies(包括Httponly和Secure的cookies)

通过 Chrome DevTools Protocol (CDP) 结合 Selenium 可以直接获取浏览器存储的所有 Cookies&#xff08;包括所有域名下的 Cookies&#xff09;&#xff0c;以下是详细步骤&#xff1a; 步骤 1&#xff1a;配置 Chrome 启用 CDP启动 Chrome 浏览器时需启用远程调试端口&#…...