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

计算机网络-HTTP与HTTPS

文章目录

      • 计算机网络
        • 网络模型
          • 网络OSI
          • TCP/IP
        • 应用层
          • 常用协议
          • HTTP报文
          • HTTP状态码
          • HTTP请求类型
          • HTTP握手过程
          • HTTP连接
          • HTTP断点续传
          • HTTPS
          • HTTPS握手过程

计算机网络

网络模型

为了解决多种设备能够通过网络相互通信,解决网络互联兼容性问题。

网络模型是计算机网络中用于理解和设计网络通信的分层架构

主要分OSI模型和TCP/IP模型

在这里插入图片描述

网络OSI
  • 物理层

    传输原始比特流,定义物理介质(电缆、光纤等)的电气、机械特性。

    数据单元:比特(Bit)

  • 数据链路层

    数据封帧,在直接相连的节点间可靠传输数据帧,MAC地址寻址,错误检测。

    数据单元:帧

  • 网络层

    负责数据的路由转发分片,IP地址寻址。

    数据单元:数据包

  • 传输层

    端到端通信,确保可靠传输(TCP)或快速传输(UDP)。

    数据单元:TCP,UDP

  • 会话层

    建立、管理和终止会话,同步数据交换。

  • 表示层

    数据格式转换、加密/解密(如SSL/TLS)、压缩(如JPEG、MPEG)。

  • 应用层

    提供用户统一的接口,支持应用程序通信。

TCP/IP
  • 网络接口层

    处理物理连接和本地网络数据传输。

  • 网络层

    IP寻址、路由。

  • 传输层

    处理主机到主机的通信(TCP、UDP)。

  • 应用层

    支持 HTTP、SMTP 等最终用户进程。

应用层
  • 提供应用程序与网络之间的交互接口(如浏览器、邮件客户端)。
  • 用户通过应用层协议访问网络服务(如访问网页、发送邮件)。
常用协议

HTTP,HTTPS,CDN,DNS等。

默认端口:

HTTP:80

HTTPS: 443

HTTP报文

无论是请求报文还是回应报文,均有3部分组成

|-----------------------|
| 起始行 | → 请求方法/状态码等
|-----------------------|
| 头部字段 | → 元数据(键值对)
|-----------------------|
| 空行 | → 分隔头部和正文
|-----------------------|
| 消息体 | → 实际传输的数据(可选)
|-----------------------|

  • 请求报文

    [起始行]:方法/请求URL/HTTP版本
    [头部字段]:包含关于请求的附加信息,如Host、User-Agent、Content-Type等。
    [空行]
    [消息体]:用于传递数据(如 POST 请求的表单或JSON数据)。

    POST /login HTTP/1.1
    Host: www.example.com
    User-Agent: Mozilla/5.0
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 27username=admin&password=123
    
  • 响应报文

    [起始行] :包含HTTP版本/状态码/状态信息。
    [头部字段] :包含关于响应的附加信息,响应数据类型,数据类型,cookie等
    [空行]
    [消息体] :包含响应的数据,通常是服务器返回的HTML、JSON等内容

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 137
    Date: Wed, 21 Oct 2023 07:28:00 GMT<html><body><h1>Welcome to Example.com</h1></body>
    </html>
    
HTTP状态码
分类描述常见状态码
1xx信息类(请求已被接收,继续处理)100, 101
2xx成功类(请求被成功处理)200, 201, 204
3xx重定向类(需进一步操作以完成请求)301, 302, 304
4xx客户端错误类(请求有误,服务器无法处理)400, 401, 403, 404
5xx服务器错误类(服务器处理请求失败)500, 502, 503

其中常用的状态码:

  • 200:请求被成功处理
  • 301:资源已永久迁移到新URL(网站更换域名,旧链接跳转到新地址)
  • 302:资源临时从其他URL返回,客户端后续应继续请求原地址(未登录用户访问受限页面,临时跳转到登录页)
  • 404:请求的资源不存在
  • 500:服务器内部错误,无法完成请求(后端代码抛出未捕获的异常,如数据库连接失败)
HTTP请求类型
  • GET

    • 用途:获取资源(从服务器读取数据)。

    • 特点:

      • 安全且幂等。(幂等:多次重复请求与单次请求效果相同)
      • 参数通过 URL 传递(如 /users?id=1)。
      • 通常无请求体(但技术上允许)。
    • 示例

      GET /api/users/1 HTTP/1.1
      Host: example.com
      
  • POST

    • 用途:提交资源(向服务器发送数据,可能创建新资源)。

    • 特点:

      • 非安全、非幂等(非幂等:多次请求可能产生不同结果)。
      • 数据通过请求体传输(如 JSON、表单)。
      • 常用于创建新资源或触发复杂操作。
    • 示例

      POST /api/users HTTP/1.1
      Content-Type: application/json{"name": "Alice", "age": 25}
      
  • PUT

    • 用途:全量更新资源(替换目标资源的全部内容)。

    • 特点:

      • 幂等。
      • 需指定完整资源数据,用于覆盖已有内容。
      • 若资源不存在,可能创建新资源(取决于实现)。
    • 示例

      PUT /api/users/1 HTTP/1.1
      Content-Type: application/json{"name": "Bob", "age": 30}
      
  • DELETE

    • 用途:删除资源。

    • 特点:

      • 幂等。
      • 通常无请求体。
    • 示例

      DELETE /api/users/1 HTTP/1.1
      Host: example.com
      
  • HEAD

    • 用途:获取资源的元数据(与 GET 类似,但无响应体)。

    • 特点:

      • 安全且幂等。
      • 常用于检查资源是否存在或验证缓存。
    • 示例:

      HEAD /api/users/1 HTTP/1.1
      Host: example.com
      
HTTP握手过程

HTTP 本身无握手过程,其通信依赖 TCP 三次握手建立连接。

在这里插入图片描述

整个过程如下:

1.TCP三次握手

客户端                        服务器|                              || ---- SYN(seq=x) ----------> ||                              || <--- SYN-ACK(seq=y, ack=x+1)-||                              || ---- ACK(ack=y+1) --------->||                              |
  • 步骤解释:

    1. SYN:客户端发送同步报文,携带初始序列号 seq=x

    2. SYN-ACK:服务器回应同步确认,携带自己的序列号 seq=y 和对客户端的确认号 ack=x+1

    3. ACK:客户端确认服务器的响应,连接建立。

2.HTTP请求/响应

TCP 连接建立后,客户端直接发送 HTTP 请求:

GET /index.html HTTP/1.1
Host: example.com

服务器返回 HTTP 响应:

HTTP/1.1 200 OK
Content-Type: text/html<html>...</html>

3.连接关闭

通信完成后,通过四次挥手关闭连接:

客户端                        服务器|                              || ---- FIN -------------------> || <---- ACK ------------------- ||                              || <---- FIN ------------------- || ---- ACK -------------------> ||                              |
HTTP连接

HTTP是基于 TCP 传输协议实现的,客户端与服务端要进行 HTTP 通信前,需要先建立 TCP 连接,然后客户端发送 HTTP 请求,服务端收到后就返回响应。

  • 短连接

在这里插入图片描述

这样的连接就是短连接,一次连接只能请求一次资源。

  • 长连接

    HTTP 的 Keep-Alive 就是实现了这个功能,可以使用同一个 TCP 连接来发送和接收多个 HTTP 请求/应答,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态,避免了连接建立和释放的开销,这个方法称为 HTTP 长连接

在这里插入图片描述

HTTP断点续传

断点续传允许客户端只请求资源的一部分,而不是整个文件。这对于大文件下载非常有用,特别是当下载中断时,可以从中断的地方继续,而不必重新开始

举个例子,大文件下载中断后恢复的流程如下:

假设文件总大小为2GB(2,147,483,648 字节),已经下载了500MB(即 524,288,000 字节)后中断了,剩余1.5GB未下载。

  1. 客户端首次下载(0~500MB)

    客户端未指定 Range 头部,尝试完整下载:

    GET /large-video.mp4 HTTP/1.1
    Host: example.com
    
  2. 服务器响应

    服务器返回完整文件(若支持断点续传,会包含 Accept-Ranges: bytes):

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Content-Length: 2147483648
    Content-Type: video/mp4[视频文件的前 524,288,000 字节...(下载中途网络断开)]
    
  3. 客户端发送 HEAD 请求

    确认服务器是否支持范围请求:

    HEAD /large-video.mp4 HTTP/1.1
    Host: example.com
    
  4. 服务器响应:

    返回 Accept-Ranges: bytes 表示支持:

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Content-Length: 2147483648
    Content-Type: video/mp4
    Last-Modified: Wed, 21 Oct 2023 00:00:00 GMT
    ETag: "abc123xyz"
    
  5. 客户端发起续传请求:

    通过 Range 头部指定从已下载位置继续请求:

    GET /large-video.mp4 HTTP/1.1
    Host: example.com
    Range: bytes=524288000-      # 请求 500MB 之后的所有数据
    If-Range: "abc123xyz"        # 使用 ETag 校验文件未修改
    
    • Range: bytes=524288000-:表示请求从第 500MB 到文件末尾。

    • If-Range:若文件未修改(ETag 匹配),服务器返回剩余部分;若已修改,返回完整文件。

  6. 服务器处理请求:

    • 文件未修改:返回 206 Partial Content 和剩余数据:

      HTTP/1.1 206 Partial Content
      Content-Range: bytes 524288000-2147483647/2147483648
      Content-Length: 1623195648  # 剩余 1.5GB 的长度(2147483648 - 524288000=1623195648)
      Content-Type: video/mp4
      ETag: "abc123xyz"[视频文件的 500MB ~ 2GB 数据]
      
    • 文件已修改:返回 200 OK 和完整文件(需重新下载)。

  7. 客户端合并文件:

    客户端将已下载的 500MB 数据与续传的 1.5GB 数据按字节顺序拼接,得到完整文件。

HTTPS

HTTP和 HTTPS(HTTP Secure)是 Web 通信的核心协议,HTTPS 本质是 HTTP 的安全版本,通过加密和身份验证保障数据传输的安全性。

HTTP为什么不安全?

核心原因在于其明文传输、缺乏身份验证和完整性保护

  • 明文传输

    HTTP协议在传输过程中不加密数据,所有内容(如密码、银行卡号、聊天记录)均以明文形式在网络中传输。

  • 无身份验证

    HTTP协议不验证服务器身份,用户无法确认自己连接的是真实服务器还是攻击者的伪造站点。

  • 数据无完整性保护

    HTTP传输的数据无完整性校验机制,攻击者可随意修改传输内容。

所以就需要用到HTTPS进行安全管理:

那么HTTPS是如何保证安全性的呢?

  • 在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。
  • HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
  • HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。
HTTPS握手过程

HTTPS 在 TCP 连接基础上增加了 TLS/SSL 握手,用于协商加密参数、验证身份并生成会话密钥。

1.TCP 三次握手

与 HTTP 相同,首先建立 TCP 连接。

2.TLS握手

客户端                                    服务器|                                          || ---- Client Hello(支持的加密套件等)-----> ||                                          || <---- Server Hello(选定加密套件)--------- || <---- Certificate(服务器证书)----------- || <---- Server Key Exchange(可选)--------- || <---- Server Hello Done ---------------- ||                                          || ---- Client Key Exchange(预主密钥)------> || ---- Change Cipher Spec(准备加密)-------> || ---- Finished(加密验证)----------------> ||                                          || <---- Change Cipher Spec(准备加密)------- || <---- Finished(加密验证)---------------- ||                                          |
  • 第一次握手

    客户端向服务器发起加密通信请求,也就是 ClientHello 请求。

    • TLS 版本:支持的 TLS 版本。
    • 随机数1:32 字节的随机数,用于生成会话密钥。
    • 加密套件列表:支持的加密算法组合
  • 第二次握手

    服务器收到客户端请求后,向客户端发出响应,也就是 SeverHello。

    • TLS 版本:双方协商后的版本。
    • 随机数2:32 字节的随机数,也用于生成会话密钥。
    • 选定的加密套件:从客户端列表中选择的加密套件
    • 证书链:服务器公钥证书(由 CA 签发)
  • 第三次握手

    Client Key Exchange。

    客户端收到服务器的回应之后,首先通过浏览器或者操作系统中的 CA 公钥,确认服务器的数字证书的真实性。

    如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文,向服务器发送如下信息:

    • 随机数3:该随机数会被服务器公钥加密。
    • 加密通信算法改变通知,通知服务器后续消息将加密。
    • 客户端握手结束通知。

    密钥生成过程:

    1. 客户端使用3个随机数生成 主密钥(Master Secret)
    2. 主密钥进一步生成 会话密钥(Session Key)
  • 第四次握手

    • 服务器 → 客户端
      服务器确认加密参数:
      • Change Cipher Spec:通知客户端后续消息加密。
      • Finished:发送加密的验证消息,确认握手完整性。

3.加密的HTTP通信

握手完成后,所有 HTTP 数据通过会话密钥加密传输:

客户端                                    服务器|                                          || ---- Encrypted HTTP Request -----------> || <---- Encrypted HTTP Response ---------- ||                                          |

4.连接关闭

先关闭 TLS 连接,再关闭 TCP 连接。

在这里插入图片描述
不断学习中,结合小林Coding整理了些笔记,感谢大家的观看>W<

相关文章:

计算机网络-HTTP与HTTPS

文章目录 计算机网络网络模型网络OSITCP/IP 应用层常用协议HTTP报文HTTP状态码HTTP请求类型HTTP握手过程HTTP连接HTTP断点续传HTTPSHTTPS握手过程 计算机网络 网络模型 为了解决多种设备能够通过网络相互通信&#xff0c;解决网络互联兼容性问题。 网络模型是计算机网络中用于…...

Text2SQL在Spark NLP中的实现与应用:将自然语言问题转换为SQL查询的技术解析

概述 SQL 仍然是当前行业中最受欢迎的技能之一 免责声明&#xff1a;Spark NLP 中的 Text2SQL 注释器在 v3.x&#xff08;2021 年 3 月&#xff09;中已被弃用&#xff0c;不再使用。如果您想测试该模块&#xff0c;请使用 Spark NLP for Healthcare 的早期版本。 自新千年伊…...

Ubuntu20.04下使用dpkg方式安装WPS后,将WPS改为中文界面方法

Ubuntu20.04下使用dpkg方式安装WPS后&#xff0c;将WPS改为中文界面方法 说明方法 说明 Ubuntu20.04下使用dpkg方式安装WPS后&#xff0c;打开WPS后&#xff0c;发现界面是英文的&#xff0c;如有需要可以按照下面的方法将其改为中文界面。 方法 cd /opt/kingsoft/wps-offic…...

OpenCV CUDA 模块中的矩阵算术运算-----在频域(复数频谱)中执行逐元素乘法并缩放的函数mulAndScaleSpectrums()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 mulAndScaleSpectrums()是OpenCV CUDA模块中用于在频域&#xff08;复数频谱&#xff09;中执行逐元素乘法并缩放 的函数。 这个函数主要用于在…...

批量剪辑 + 矩阵分发 + 数字人分身源码搭建全技术解析,支持OEM

在互联网内容生态蓬勃发展的当下&#xff0c;企业与创作者对内容生产与传播效率的要求日益增长。批量剪辑、矩阵分发和数字人分身技术的融合&#xff0c;成为提升内容创作与运营效能的关键方案。从源码层面实现三者的搭建与整合&#xff0c;需要深入理解各功能技术原理&#xf…...

Spring Boot 与 RabbitMQ 的深度集成实践(三)

高级特性实现 消息持久化 在实际的生产环境中&#xff0c;消息的可靠性是至关重要的。消息持久化是确保 RabbitMQ 在发生故障或重启后&#xff0c;消息不会丢失的关键机制。它涉及到消息、队列和交换机的持久化配置。 首先&#xff0c;配置队列持久化。在创建队列时&#xf…...

部署java项目

1.编写shell脚本部署服务 restart.sh #!/bin/bash # # start the user program # echo "-------------------- start jk service --------------------" LOG_DIR"/home/joy/usr/app/ers-log" LOG_FILE"$LOG_DIR/log_$(date "%Y%m%d").txt&…...

中国城市间交通驾车距离矩阵(2024)

中国城市间交通驾车距离矩阵(2024) 1852 数据简介 中国城市中心的交通驾车距离&#xff0c;该数据为通过审图号GS(2024)0650的中国城市地图得其城市中心距离&#xff0c;再通过高德地图api计算得出其交通驾车最短距离矩阵&#xff0c;单位为KM&#xff0c;方便大家研究使用。…...

物联网数据湖架构

物联网海量数据湖分析架构&#xff08;推荐实践&#xff09; ┌──────────────┐ │ IoT设备端 │ └──────┬───────┘│&#xff08;MQTT/HTTP&#xff09;▼ ┌──────────────┐ │ EMQX等 │ 可选&#xff08;也可…...

Python将Excel单元格某一范围生成—截图(进阶版—带样式+批量+多级表头)

目录 专栏导读1、库的介绍2、库的安装3、核心代码4、通用版——带样式5、进阶版(可筛选+自动截图)多级表头版总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该…...

使用Python将 Excel 中的图表、形状和其他元素导出为图片

目录 为什么将 Excel 中的图表、形状和其他元素导出为图片&#xff1f; 工具与设置 Python 将 Excel 图表导出为图片 将图表导出为图片 将图表工作表导出为图片 Python 将 Excel 中的形状和其他元素导出为图片 微软 Excel 是一个功能强大的数据分析和可视化工具&#xff…...

从编程助手到AI工程师:Trae插件Builder模式实战Excel合并工具开发

Trae插件下载链接&#xff1a;https://www.trae.com.cn/plugin 引言&#xff1a;AI编程工具的新纪元 在软件开发领域&#xff0c;AI辅助编程正在经历一场革命性的变革。Trae插件&#xff08;原MarsCode编程助手&#xff09;最新推出的Builder模式&#xff0c;标志着AI编程工具…...

AI大模型从0到1记录学习numpy pandas day25

第 3 章 Pandas 3.1 什么是Pandas Pandas 是一个开源的数据分析和数据处理库&#xff0c;它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具&#xff0c;特别适用于处理结构化数据&#xff0c;如表格型数据&#xff08;类似于Excel表格&#xff09;…...

【云实验】Excel文件转存到RDS数据库

实验名称&#xff1a;Excel文件转存到RDS数据库 说明&#xff1a;把Excel的数据通过数据管理服务DMS&#xff08;Data Management Service&#xff09;导入到RDS MySQL数据库中。 流程&#xff1a;创建一个RDS for MySQL的实例&#xff0c;再创建数据库和账号&#xff0c;通过D…...

用Python实现数据库数据自动化导出PDF报告:从MySQL到个性化文档的全流程实践

本文将介绍如何使用Python构建一个自动化工具&#xff0c;实现从MySQL数据库提取员工数据&#xff0c;并为每位员工生成包含定制化表格的PDF报告。通过该方案&#xff0c;可显著提升数据导出效率&#xff0c;避免手动操作误差&#xff0c;同时支持灵活的格式定制。 需求&#…...

深入理解 ZAB:ZooKeeper 原子广播协议的工作原理

目录 ZAB 协议&#xff1a;ZooKeeper 如何做到高可用和强一致&#xff1f;&#x1f512;ZAB 协议的核心目标 &#x1f3af;ZAB 协议的关键概念 &#x1f4a1;ZAB 协议的运行阶段 &#x1f3ac;阶段一&#xff1a;Leader 选举 (Leader Election) &#x1f5f3;️阶段二&#xff…...

Javascript本地存储的方式有哪些?区别及应用场景?(含Deep Seek讲解)

JavaScript本地存储方式的区别与适用场景 1. Cookie 特点: Cookie是一种较早的本地存储技术&#xff0c;主要通过HTTP协议在客户端和服务器之间传递数据。它的大小通常被限制为4KB以内&#xff0c;并且每次HTTP请求都会携带Cookie信息。缺点: 数据量有限制&#xff08;最多4K…...

二元Logistic回归

二元Logistic回归 在机器学习领域&#xff0c;二元Logistic回归是一种非常经典的分类模型&#xff0c;广泛用于解决具有两类标签的分类问题。Logistic回归通过逻辑函数&#xff08;Sigmoid函数&#xff09;将预测结果映射到概率值&#xff0c;并进行分类。 一、Logistic回归 …...

Android framework 问题记录

一、休眠唤醒&#xff0c;很快熄屏 1.1 问题描述 机器休眠唤醒后&#xff0c;没有按照约定的熄屏timeout 进行熄屏&#xff0c;很快就熄屏&#xff08;约2s~3s左右&#xff09; 1.2 原因分析&#xff1a; 抓取相关log&#xff0c;打印休眠背光 相关调用栈 //具体打印调用栈…...

企业网站架构部署与优化 --web技术与nginx网站环境部署

一、Web 基础 本节将介绍Web 基础知识,包括域名的概念、DNS 原理、静态网页和动态网页的 相关知识。 1、域名和DNS 1.1、域名的概念 网络是基于TCP/IP 协议进行通信和连接的&#xff0c;每一台主机都有一个唯一的标识(固定的IP 地址),用以区别在网络上成千上万个用户和计算机。…...

Scala与Spark:原理、实践与技术全景详解

Scala与Spark&#xff1a;原理、实践与技术全景详解 一、引言 在大数据与分布式计算领域&#xff0c;Apache Spark 已成为事实标准的计算引擎&#xff0c;而 Scala 作为其主要开发语言&#xff0c;也逐渐成为数据工程师和后端开发者的必备技能。本文将系统梳理 Scala 语言基础…...

【聚类】层次聚类

层次聚类 文章目录 层次聚类1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 层次聚类&#xff08;Hierarchical Clustering&#xff09;是一类无需事先指定簇数的聚类方法&#xff0c;通过构造一棵“树状图”&#xff08;dendrogram&#xff09;来呈现数据的多层次…...

Windows环境安装LibreOffice实现word转pdf

前言&#xff1a;最近在工作中遇到了一个需求要实现word转pdf&#xff0c;本来我在上一个公司使用aspose.words工具使用的得心应手&#xff0c;都已经把功能点实现了&#xff0c;两句代码轻轻松松&#xff0c;但是被告知不能用商业版的东西&#xff0c;公司要求只能用开源的&am…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)

1.问题描述&#xff1a; 通过CardRecognition识别身份证拍照拿到的照片地址&#xff0c;使用该方法获取不到图片文件&#xff0c;请问如何解决&#xff1f; 解决方案&#xff1a; //卡证识别实现页&#xff0c;文件名为CardDemoPage&#xff0c;需被引入至入口页 import { …...

【聚类】K-means++

K-means 文章目录 K-means1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 k-means 是 David Arthur 和 Sergei Vassilvitskii 于2007年提出的改进 k-means 初始化方法&#xff0c;其核心目标是&#xff1a; 在保证聚类质量的前提下&#xff0c;通过更合理地选择初始…...

Java实现PDF加水印功能:技术解析与实践指南

Java实现PDF加水印功能&#xff1a;技术解析与实践指南 在当今数字化办公环境中&#xff0c;PDF文件因其跨平台兼容性和格式稳定性而被广泛应用。然而&#xff0c;为了保护文档的版权、标记文档状态&#xff08;如“草稿”“机密”等&#xff09;或增加文档的可追溯性&#xf…...

【C#】用 DevExpress 创建带“下拉子表”的参数表格视图

展示如何用 DevExpress 创建带“下拉子表”的参数表格视图。主表为 参数行 ParamRow&#xff0c;子表为 子项 ChildParam。 一、创建模型类 public class ParamRow {public string Pn { get; set; }public string DisplayName { get; set; }public string Value { get; set; }…...

Go语言八股文之Mysql优化

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

学习记录:DAY29

项目开发日志&#xff1a;技术实践与成长之路 前言 回顾这几天的状态&#xff0c;热情总是比我想象中更快被消耗完。比起茫然徘徊的小丑&#xff0c;我更希望自己是对着风车冲锋的疯子。 今天继续深入项目的实际业务。 状态好点的时候&#xff0c;再看自己EMO时写的东西&…...

LLaMA-Factory:了解webUI参数

Finetuning method参数 full&#xff08;全量微调&#xff09; 更新模型全部参数&#xff0c;完全适配新任务 效果最好&#xff0c;但资源消耗最大适用于计算资源充足的场景存在过拟合的风险&#xff0c;需要大量数据支持 freeze&#xff08;冻结微调&#xff09; 固定底层参…...

【实战】GPT-SoVITS+内网穿透:3分钟搭建可公网访问的语音克隆系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

HTML向四周扩散背景

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>扩散背景效果</title><style>body {…...

React 个人笔记 Hooks编程

作用 配合函数式编程&#xff0c;保证在不产生类的时候完成一个整体的组件 常用组件 useStateuseContextuseReduceruseEffectuseMemouseCallback 前三个值为自变量 后三者为因变量 前三者相当于其他编程函数的变量声明&#xff0c;而后三者相当于对变量进行了(if now ! pr…...

CSS- 4.6 radiu、shadow、animation动画

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 HTML系列文章 已经收录在前端专栏&#xff0c;有需要的宝宝们可以点击前端专栏查看&#xff01; 点…...

ngx_http_scgi_module 技术指南

一、快速上手示例 http {# 定义 SCGI 参数&#xff08;标准 CGI 环境变量&#xff09;include /etc/nginx/scgi_params;server {listen 80;location /app/ {# 将请求转发到本地 9000 端口的 SCGI 服务器scgi_pass localhost:9000;# 只转发非空的 HTTPS 参数scgi…...

NFT市场开发技术全解析:从架构设计到实现

NFT&#xff08;非同质化代币&#xff09;市场已成为区块链领域的热门应用场景&#xff0c;涵盖艺术品、游戏资产、虚拟地产等多个领域。本文将从技术栈选择、核心功能实现、开发流程、挑战与优化等方面&#xff0c;系统梳理NFT市场的开发要点&#xff0c;并结合实际案例与代码…...

第六十一篇 Java反射解析:用咖啡调配理解动态编程的艺术

引言&#xff1a;一杯咖啡引发的技术思考 在星巴克的收银台前&#xff0c;我们总能看到店员熟练地根据顾客需求调配不同口味的咖啡&#xff1a;美式、拿铁、卡布奇诺… 这让我联想到编程世界中的对象创建。如果每新增一种咖啡就要修改收银系统&#xff0c;这样的设计显然不够优…...

【android bluetooth 协议分析 01】【HCI 层介绍 7】【ReadLocalName命令介绍】

1. HCI_Read_Local_Name Read Local Name 是 HCI&#xff08;Host Controller Interface&#xff09;命令之一&#xff0c;属于 BR/EDR 控制器的 HCI Command 类别&#xff0c;其主要功能是 读取本地设备&#xff08;Controller&#xff09;的人类可读名称&#xff08;Local N…...

window xampp apache使用腾讯云ssl证书配置https

下载腾讯云ssl证书&#xff1a; 编辑Apache根目录下 conf/httpd.conf 文件&#xff1a; #LoadModule ssl_module modules/mod_ssl.so和#Include conf/extra/httpd-ssl.conf&#xff0c;去掉前面的#号注释。 编辑Apache根目录下 conf/httpd-ssl.conf 文件&#xff1a; <Vi…...

企业开发工具git的使用:从入门到高效团队协作

前言&#xff1a;本文介绍了Git的安装、本地仓库的创建与配置&#xff0c;以及工作区、暂存区和版本库的区分。详细讲解了版本回退、撤销修改等操作&#xff0c;并深入探讨了分支管理&#xff0c;包括分支的创建、切换、合并、删除及冲突解决。此外&#xff0c;还介绍了远程操作…...

【git config --global alias | Git分支操作效率提升实践指南】

git config --global alias | Git分支操作效率提升实践指南 背景与痛点分析 在现代软件开发团队中&#xff0c;Git分支管理是日常工作的重要组成部分。特别是在规范的开发流程中&#xff0c;我们经常会遇到类似 feature/user-management、bugfix/login-issue 或 per/cny/dev …...

VR 互动实训与展示,借科技开启沉浸式体验新篇​

对于企业而言&#xff0c;产品设计与展示是极为关键的环节&#xff0c;这直接关系到能否成功吸引客户&#xff0c;以及精准获取市场反馈。在当下科技飞速发展的时代&#xff0c;VR 互动实训为这一至关重要的环节注入了全新活力&#xff0c;带来了前所未有的体验。以某智能家居企…...

一文了解VR拍摄制作

虚拟现实&#xff08;VR&#xff09;技术通过计算机技术模拟环境&#xff0c;使用户能够身临其境地沉浸在虚拟世界中进行交互体验。 在VR拍摄中&#xff0c;主要利用这一技术来创建360度全景视频或图片&#xff0c;让观众能够全方位地感受拍摄场景。这种拍摄方式不仅改变了我们…...

【内测征集】LarkVR 播控系统上新:VR 应用一站式专业播控与管理工具

Paraverse平行云自主研发的LarkXR实时云渲染平台&#xff0c;作为行业领先的企业级云渲染解决方案&#xff0c;在国际市场占据重要地位。公司自2016年创立以来&#xff0c;始终引领3D/XR云化技术的创新发展&#xff0c;目前已在全球范围内为超过10,000名开发者和1,000家企业客户…...

Windows逆向工程提升之二进制分析工具:HEX查看与对比技术

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 十六进制查看工具 应用于逆向工程的知识点 ​编辑 二进制对比工具 应用于逆向工程的知识点 十六进制查看工具 十六进制查看器是逆向工程的基础工具&#xff0c;它可以以十六进制格式…...

电脑A和电脑B都无法ping通电脑C网络,电脑C可以ping通电脑A和B,使用新系统测试正常,排除硬件问题。

主要硬件&#xff1a;研华AIMB-705主板、i5-6500 C机在防火墙高级设置里启用以下两项规则后&#xff0c;A/B机可正常访问C机网络。&#xff08;直接关闭防火墙也可解决此问题&#xff09; 文件和打印机共享 (回显请求 - ICMPv4-In) 核心网络诊断 - ICMP 回显请求 (ICMPv4-In)…...

【VMware】虚拟机运行 Linux Ubuntu、MAC 安装和配置

文章目录 一、VMware Workstation Pro 下载二、VMware Workstation Pro 安装三、Ubuntu Linux虚拟机镜像下载安装与配置 1、Ubuntu系统镜像下载 2、创建虚拟机&#xff08;VMware&#xff09;及硬件配置 3、编辑虚拟机设置 4、安装Ubuntu系统及系统…...

遨游科普:三防平板是什么?有什么作用?

在数字化与智能化浪潮席卷全球的今天&#xff0c;电子设备的可靠性已成为衡量其价值的核心标准之一。三防平板&#xff0c;这一“硬核”的工业设备&#xff0c;正凭借其卓越的环境适应能力&#xff0c;从专业领域走向大众视野&#xff0c;成为极端场景下不可或缺的数字化工具。…...

电脑闪屏可能的原因

1. 显示器 / 屏幕故障 屏幕排线接触不良&#xff1a;笔记本电脑屏幕排线&#xff08;屏线&#xff09;松动或磨损&#xff0c;导致信号传输不稳定&#xff0c;常见于频繁开合屏幕的设备。屏幕面板损坏&#xff1a;液晶屏内部灯管老化、背光模块故障或面板本身损坏&#xff0c;…...

VR 互动实训的显著优势​

&#xff08;一&#xff09;沉浸式学习&#xff0c;提升培训效果​ 在 VR 互动实训中&#xff0c;员工不再是被动的知识接受者&#xff0c;而是主动的参与者。以销售培训为例&#xff0c;员工戴上 VR 设备&#xff0c;就能置身于逼真的销售场景中&#xff0c;与虚拟客户进行面对…...