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

Http 和 Https 的区别(图文详解)

在现代网络通信中,保护数据的安全性和用户的隐私是至关重要的。HTTP(Hypertext Transfer Protocol)和 HTTPS(Hypertext Transfer Protocol Secure)是两种常见的网络通信协议,但它们在数据保护方面的能力存在显著差异。了解这两者的区别,对于开发者和普通用户来说,都非常重要。

HTTP 是最基础的网络通信协议,用于在客户端(如浏览器)和服务器之间传输数据。然而,HTTP 协议在传输过程中并不对数据进行加密,这意味着任何在数据传输路径上的中间人都可能拦截和读取这些数据。这种缺乏安全保障的特性,使得 HTTP 不适合处理敏感信息,如登录凭据、财务数据等。

HTTPS 则是 HTTP 的安全版本,通过结合对称加密和非对称加密技术来保护数据传输的安全性。HTTPS 在通信过程中对数据进行加密,确保数据的机密性和完整性,同时使用数字证书来验证服务器的身份,从而防止中间人攻击。虽然 HTTPS 相比于 HTTP 可能会增加一些性能开销,但其提供的安全保障使其成为保护用户数据的标准选择。

在本篇文章中,我们将通过图文详解 HTTP 和 HTTPS 的工作原理,深入探讨它们的主要区别,包括加密机制、身份验证和数据完整性等方面。通过对比这两种协议,我们将揭示 HTTPS 如何在网络通信中提供更高级的安全保护,以及在何种情况下选择 HTTPS 是更加明智的决策。


文章目录

      • 1、Http 和 Https 介绍以及区别
        • 1.1、HTTP(超文本传输协议)
        • 1.2、HTTPS(超文本传输协议安全)
      • 2、HTTPS 工作原理
        • 2.1、内容加密
          • 2.1.1、 对称加密
          • 2.1.2、非对称加密
        • 2.2、身份验证
          • 2.2.1、数字证书
          • 2.2.2、验证过程
        • 2.3、数据完整性
          • 2.3.1、消息认证码
          • 2.3.2、完整性校验
      • 3、HTTPS 工作流程
        • 3.1、客户端发起连接
        • 3.2、服务器响应并发送证书
        • 3.3、客户端验证证书
        • 3.4、密钥交换
        • 3.5、建立安全连接
        • 3.6、数据传输
        • 3.7、关闭连接
      • 4、Https 优缺点
        • 4.1、HTTPS的优点
        • 4.2、HTTPS 的缺点


1、Http 和 Https 介绍以及区别

HTTP(Hypertext Transfer Protocol)和 HTTPS(Hypertext Transfer Protocol Secure)是用于在网络上进行通信的协议。它们的主要区别在于安全性和加密方式。

1.1、HTTP(超文本传输协议)

HTTP 是一种无状态的协议,负责从服务器传输网页和其他资源到客户端(通常是浏览器)。默认使用端口 80。数据在传输过程中是不加密的,因此可能被中间人(如网络嗅探器)窃听或篡改。由于没有加密,HTTP 不适用于需要保密和数据安全性要求高的应用场景,如在线支付或个人信息传输。常用于普通的网站和不涉及敏感信息的网络服务。

它的主要特点如下:

  1. 基于请求响应模式: HTTP 协议采用客户端-服务器架构模式,客户端向服务器发送请求,服务器返回相应的响应。这种模式能有效分离应用逻辑,提高系统的可维护性和扩展性。
  2. 基于文本传输: HTTP 协议使用ASCII码作为通信协议,每个请求和响应都是一条文本消息,这使得通信协议更加简单、直观、易于处理。
  3. 支持多媒体传输: HTTP 协议可以传输多种类型的数据,如 HTML、XML、JSON、图片、音频、视频等,这使得 HTTP 协议成为一种通用的网络传输协议,适用于各种不同类型的应用场景。
  4. 无连接: HTTP 协议是一个无连接协议,每个请求都是独立的,服务器处理请求后立即关闭连接。这有助于节省资源,但也带来了一些缺点,如需要重新建立连接、重复发送相同的头部信息等。
  5. 无状态: HTTP 协议没有客户端的状态存储,也没有事务处理的“内存”能力。这意味着每次访问网站时可能需要重复的登录操作。

然而,HTTP 协议也存在一些不足之处。由于它以明文方式发送内容,不提供任何方式的数据加密,因此安全性较差。如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP 协议不适合传输一些敏感信息,比如信用卡号、密码等支付信息。

image-20240722162153907

1.2、HTTPS(超文本传输协议安全)

HTTPS 是 HTTP 的安全版本,通过 SSL/TLS(安全套接层/传输层安全)协议对数据进行加密。默认使用端口 443。数据在传输过程中会被加密,确保数据的机密性和完整性,并提供身份验证以防止中间人攻击。通过加密通信保护数据,确保数据在传输过程中不会被窃取或篡改,适合处理敏感信息,如金融交易和个人数据。常用于需要安全保护的网站,如电子商务网站、网上银行、社交网络等。

与 HTTP 相比,HTTPS(Hypertext Transfer Protocol Secure)则是以安全为目标的 HTTP 通道。它在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 的内容加密、身份验证以及数据完整性保护的原理主要依赖于 SSL/TLS 协议。

image-20240722162424816

两者区别总结:

  1. 加密:HTTP:数据传输不加密,容易被拦截和窃听。HTTPS:数据传输加密,保障通信的安全性。
  2. 安全性:HTTP:缺乏数据加密和验证机制,安全性较低。HTTPS:通过 SSL/TLS 提供加密和身份验证,安全性较高。
  3. 端口:HTTP:端口 80。HTTPS:端口 443。
  4. 用途:HTTP:适用于不需要高度安全保护的普通网站。HTTPS:适用于需要保护用户数据安全的网站和应用。

总的来说,HTTPS 是 HTTP 的增强版,提供了更高的数据安全性,推荐用于所有需要保护用户隐私和敏感数据的网站。


2、HTTPS 工作原理

HTTPS(Hypertext Transfer Protocol Secure)通过结合对称加密和非对称加密来实现内容的加密和保护,同时使用数字证书来进行身份验证,并通过消息认证码(MAC)确保数据的完整性。以下是对这些机制的详细解释:

2.1、内容加密
2.1.1、 对称加密

在 HTTPS 连接建立之后,客户端和服务器会生成一个共享的会话密钥。这个会话密钥用于后续的数据加密和解密操作。双方使用这个密钥,通过对称加密算法(如 AES)对传输的数据进行加密,以确保数据在传输过程中的保密性和安全性。

  • 优点:对称加密的加密和解密速度较快,适合大量数据的加密操作。
  • 缺点:由于双方共享一个密钥,密钥的安全性直接影响到通信的安全。如果密钥被泄露或被截获,通信内容可能被解密。
2.1.2、非对称加密

在 HTTPS 握手阶段,服务器会将其公钥发送给客户端。客户端使用服务器的公钥加密一个随机生成的预主密钥,并将加密后的数据发送给服务器。服务器使用其私钥解密这个数据,从而安全地交换密钥。

image-20240722163713917

  • 优点:非对称加密用于安全地交换对称密钥,确保密钥交换过程中的安全性。
  • 缺点:非对称加密的计算速度较慢,会增加系统的计算负担。虽然公钥可以公开,但私钥必须保密以防止数据被解密。

结合使用:HTTPS 将对称加密和非对称加密结合使用,以利用对称加密的高效性和非对称加密的安全性。

2.2、身份验证

HTTPS 使用数字证书来验证服务器的身份,确保客户端连接的是一个合法的服务器。

2.2.1、数字证书

数字证书由权威的证书颁发机构(CA)签发,包含了服务器的公钥、身份信息和 CA 的数字签名。服务器在建立 HTTPS 连接时,会将这个证书发送给客户端。

2.2.2、验证过程

客户端在收到证书后,会执行以下检查:

  • CA 颁发:检查证书是否由受信任的 CA 颁发。
  • 证书有效性:验证证书是否过期。
  • 身份匹配:确认证书中的服务器身份信息是否与实际连接的服务器匹配。
  • 签名验证:使用 CA 的公钥验证证书上的数字签名,确保证书在传输过程中未被篡改。

通过这些步骤,客户端可以确认服务器的身份,确保与之通信的安全性。

2.3、数据完整性

HTTPS 使用消息认证码(MAC)来确保数据在传输过程中的完整性和安全性。

2.3.1、消息认证码

每个传输的数据包都会附带一个 MAC 值。MAC 值是通过将数据包的内容和会话密钥输入到哈希函数中计算得出的。只有持有相同会话密钥的接收方才能计算出正确的 MAC 值。

2.3.2、完整性校验

接收方收到数据包后,会使用相同的会话密钥和哈希函数计算 MAC 值,并与数据包中附带的 MAC 值进行比较。如果两个 MAC 值相同,则可以确认数据包在传输过程中没有被篡改,从而保证数据的完整性和安全性。

image-20240722164040858


3、HTTPS 工作流程

HTTPS(Hypertext Transfer Protocol Secure)是 HTTP 的安全版本,利用 SSL/TLS(安全套接层/传输层安全)协议来加密和保护数据传输。

HTTPS 通过以下几个主要方面保障了数据传输的安全性:

  • 加密:使用对称加密保护传输的数据;
  • 身份验证:使用数字证书验证服务器的身份;
  • 数据完整性:确保数据在传输过程中没有被篡改。

HTTPS 确保了数据的机密性、完整性和安全性,是现代网络通信中保护用户数据和隐私的重要技术。

HTTPS 的工作原理可以分为以下几个主要步骤:

3.1、客户端发起连接

当客户端(如浏览器)访问一个 HTTPS 网站时,它会发起一个连接请求到服务器。客户端的请求会包含要访问的资源的地址(URL)以及一些其他信息。

3.2、服务器响应并发送证书

服务器收到请求后,会发送一个包含其 SSL/TLS 证书的响应。这个证书由一个受信任的证书颁发机构(CA)签发,并包含了服务器的公钥和其他信息。

3.3、客户端验证证书

客户端接收到服务器的证书后,会进行验证:

  • 检查证书是否由受信任的 CA 签发:浏览器会检查证书的颁发机构是否被信任;
  • 验证证书的有效性:检查证书是否过期,是否被吊销;
  • 检查证书是否与服务器主机名匹配:确保证书中的域名与访问的主机名一致。

如果证书验证通过,客户端会继续进行下一步。如果验证失败,客户端会显示警告或拒绝连接。

3.4、密钥交换

在证书验证成功后,客户端和服务器会进行密钥交换,以确定一个对称加密密钥。

这个过程包括:

  • 生成预主密钥:客户端生成一个随机的预主密钥,并用服务器的公钥加密这个密钥;
  • 服务器解密预主密钥:服务器使用自己的私钥解密收到的预主密钥;
  • 生成会话密钥:客户端和服务器使用预主密钥以及其他随机值生成对称加密的会话密钥。
3.5、建立安全连接

一旦对称加密密钥(会话密钥)生成完成,客户端和服务器会使用这个密钥进行加密的数据传输。所有后续的数据传输都使用这个对称加密密钥来保证数据的机密性和完整性。

3.6、数据传输

在建立安全连接后,客户端和服务器之间的数据传输将被加密。数据在传输过程中不会被中间人读取或篡改。HTTPS 协议还包括数据完整性检查,确保数据没有被篡改。

3.7、关闭连接

当数据传输完成后,客户端和服务器会关闭连接,并且可能会销毁加密密钥以保护数据的安全性。


4、Https 优缺点

4.1、HTTPS的优点

尽管 HTTPS 并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但 HTTPS 仍是现行架构下最安全的解决方案,主要有以下几个好处:

  1. 使用 HTTPS 可认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2. HTTPS 是由 SSL+HTTP 构建的可进行加密传输、身份认证的网络协议,要比 HTTP 安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
  3. HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  4. 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等 HTTP 网站,采用 HTTPS 加密的网站在搜索结果中的排名将会更高”。
4.2、HTTPS 的缺点
  1. HTTPS 握手阶段比较费时,会使页面的加载时间延长近 50%;
  2. HTTPS 连接缓存不如 HTTP 高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
  3. SSL 证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
  4. SSL 证书通常需要绑定 IP,不能在同一 IP 上绑定多个域名,IPv4 资源不可能支撑这个消耗。
  5. HTTPS 的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL 证书的信用链体系并不安全,特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。

相关文章:

Http 和 Https 的区别(图文详解)

在现代网络通信中,保护数据的安全性和用户的隐私是至关重要的。HTTP(Hypertext Transfer Protocol)和 HTTPS(Hypertext Transfer Protocol Secure)是两种常见的网络通信协议,但它们在数据保护方面的能力存在…...

DP学习——外观模式

学而时习之,温故而知新。 外观模式 角色 2个角色,外观类,子系统类。 个人理解 感觉就是对外接口封装,这个是封装一个功能的对外接口,越简单越好,提供给第三方用。 应用场景 封装为对外库时&#xff…...

Vue3 + Vite 打包引入图片错误

1. 具体报错 报错信息 报错代码 2. 解决方法 改为import引入&#xff0c;注意src最好引用为符引入&#xff0c;不然docker部署的时候可能也会显示不了 <template><img :src"loginBg" alt""> </template><script langts setup> …...

搭建NFS、web、dns服务器

目录 1、搭建一个nfs服务器&#xff0c;客户端可以从该服务器的/share目录上传并下载文件 服务端配置&#xff1a; 客户端测试&#xff1a; 2、搭建一个Web服务器&#xff0c;客户端通过www.haha.com访问该网站时能够看到内容:this is haha 服务端配置&#xff1a; 客户端…...

C++的UI框架和开源项目介绍

文章目录 1.QT2.wxWidgets3.Dear ImGui 1.QT QT的开源项目&#xff1a;QGIS&#xff08;地理信息系统&#xff09; https://github.com/qgis/QGIS?tabreadme-ov-file 2.wxWidgets wxWidgets的开源项目&#xff1a;filezilla https://svn.filezilla-project.org/svn/ wxWidg…...

SpringBoot连接PostgreSQL+MybatisPlus入门案例

项目结构 一、Java代码 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mave…...

vue3里将table表格中的数据导出为excel

想要实现前端对表格中的数据进行导出&#xff0c;这里推荐使用xlsx这个依赖库实现。 1、安装 pnpm install xlsx 2、使用 import * as XLSX from "xlsx"; 直接在组件里导入XLSX库&#xff0c;然后给表格table通过ref创建响应式数据拿到table实例&#xff0c;将实…...

【算法】分布式共识Paxos

一、引言 在分布式系统中&#xff0c;一致性是至关重要的一个问题。Paxos算法是由莱斯利兰伯特&#xff08;Leslie Lamport&#xff09;在1990年提出的一种解决分布式系统中一致性问题的算法。 二、算法原理 Paxos算法的目标是让一个分布式系统中的多个节点就某个值达成一致。算…...

软考:软件设计师 — 5.计算机网络

五. 计算机网络 1. OSI 七层模型 层次名称主要功能主要设备及协议7应用层实现具体的应用功能 POP3、FTP、HTTP、Telent、SMTP DHCP、TFTP、SNMP、DNS 6表示层数据的格式与表达、加密、压缩5会话层建立、管理和终止会话4传输层端到端的连接TCP、UDP3网络层分组传输和路由选择 三…...

C++ //练习 15.28 定义一个存放Quote对象的vector,将Bulk_quote对象传入其中。计算vector中所有元素总的net_price。

C Primer&#xff08;第5版&#xff09; 练习 15.28 练习 15.28 定义一个存放Quote对象的vector&#xff0c;将Bulk_quote对象传入其中。计算vector中所有元素总的net_price。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块&am…...

Midjourney绘画提示词精选

Midjourney绘画提示词精选 在探索Midjourney这一强大的AI绘画工具时&#xff0c;选择合适的提示词是创作出令人惊艳作品的关键。这些提示词不仅能够帮助Midjourney理解你的创作意图&#xff0c;还能引导它生成出符合你期望的图像。以下是对Midjourney绘画提示词的精选与解析&a…...

Kylin中的RBAC:为大数据安全加把锁

Kylin中的RBAC&#xff1a;为大数据安全加把锁 Apache Kylin是一个开源的分布式分析引擎&#xff0c;旨在为Hadoop平台提供快速的大数据量SQL查询能力。随着企业对数据安全和访问控制需求的增加&#xff0c;基于角色的访问控制&#xff08;Role-Based Access Control&#xff…...

DDoS 攻击下的教育网站防护策略

随着互联网的普及&#xff0c;教育网站成为学生和教师获取信息、进行在线学习的重要平台。然而&#xff0c;这些网站也成为了网络攻击的目标&#xff0c;尤其是分布式拒绝服务&#xff08;DDoS&#xff09;攻击。本文将探讨DDoS攻击对教育网站的影响&#xff0c;并提出一系列有…...

Android13以太网静态IP不保存的问题

最近在做Amlogic T982的样机&#xff0c;关于以太网部分&#xff0c;系统Settings只有一个Ethernet的条目&#xff0c;没有其他任何信息&#xff0c;什么以太网mac地址&#xff0c;开关&#xff0c;IP地址&#xff0c;子网掩码&#xff0c;默认网关&#xff0c;dns, 设置代理&a…...

Redis 7.x 系列【31】LUA 脚本

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 EVAL2.2 SCRIPT LOAD2.3 EVALSHA2.4 SCRIPT FLUSH2.5 其他 3. …...

mysql中You can’t specify target table for update in FROM clause错误

mysql中You can’t specify target table for update in FROM clause错误 You cannot update a table and select directly from the same table in a subquery. mysql官网中有这句话&#xff0c;我们不能在一个语句中先在子查询中从某张表查出一些值&#xff0c;再update这张表…...

Linux Vim最全面的教程

Vim 是一个非常强大的文本编辑器&#xff0c;它在 Linux 环境中尤其受欢迎。Vim 支持高度定制&#xff0c;并且拥有丰富的功能&#xff0c;包括多级撤销、宏、脚本语言支持等。下面是关于 Vim 的一个较为全面的教程。 Vim 的启动 要启动 Vim&#xff0c;你可以在终端中输入 v…...

setsockopt选项对tcp速度

GPT-4 (OpenAI) 每个setsockopt调用都涉及到一个套接字描述符&#xff0c;一个指定网络层的常数&#xff08;如IPPROTO_IP, IPPROTO_TCP, IPPROTO_IPV6, SOL_SOCKET等&#xff09;&#xff0c;一个指定需配置的选项的常数&#xff0c;一个指向配置值的指针&#xff0c;以及那个…...

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号3

基础认证题库请移步&#xff1a;HarmonyOS应用开发者基础认证题库 注&#xff1a;有读者反馈&#xff0c;题库的代码块比较多&#xff0c;打开文章时会卡死。所以笔者将题库拆分&#xff0c;单选题20个为一组&#xff0c;多选题10个为一组&#xff0c;题库目录如下&#xff0c;…...

bool数组的理解和应用[C++]

文章目录 bool数组的用法bool数组的定义声明bool数组的初始化访问和修改数组元素遍历数组 运用bool数组简单代码 在今天做题中发现了bool类不仅能用于函数类型还能用于数组类型&#xff0c;好奇查了查发现bool还有很多用处&#xff1a;基本变量&#xff0c;在枚举类型中会用到&…...

JavaScript模拟滑动手势

双击回到顶部 左滑动 右滑动 代码展示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Gesture…...

Text Control 控件教程:使用 .NET C# 中的二维码和条形码增强文档

QR 码和条形码非常适合为文档和 PDF 文件增加价值&#xff0c;因为它们提供轻松的信息访问、验证信息、跟踪项目和提高交互性。条形码可以弥补纸质或数字人类可读文档与网络门户或网络应用程序中的数字信息之间的差距。大多数用户都熟悉 QR 码和条形码&#xff0c;它们在许多过…...

最新爆火的开源AI项目 | LivePortrait 本地安装教程

LivePortrait 本地部署教程&#xff0c;强大且开源的可控人像AI视频生成 1&#xff0c;准备工作&#xff0c;本地下载代码并准备环境&#xff0c;运行命令前需安装git 以下操作不要安装在C盘和容量较小的硬盘&#xff0c;可以找个大点的硬盘装哟 2&#xff0c;需要安装FFmp…...

揭秘Django与Neo4j:构建智能知识图谱的终极指南

揭秘Django与Neo4j:构建智能知识图谱的终极指南 前言 图是一种用于对象之间的成对关系进行建模的数学结构。 它由两个主要元素组成:节点和关系。 节点:节点可以看作是传统数据库中的记录。每个节点代表一个对象或实体,例如一个人或一个地方。节点按标签分类,这有助于根…...

项目一缓存商品

文章目录 概要整体架构流程技术细节小结 概要 因为商品是经常被浏览的,所以数据库的访问量就问大大增加,造成负载过大影响性能,所以我们需要把商品缓存到redis当中,因为redis是存在内存中的,所以效率会比MySQL的快. 整体架构流程 技术细节 我们在缓存时需要保持数据的一致性所…...

SEO与数据中心代理IP的结合能带来哪些便利?

本文将探讨将SEO与数据中心代理IP结合所带来的好处&#xff0c;以及如何利用这种组合来提升网站在搜索引擎中的排名和可见性。 1. 数据中心代理IP的作用和优势 数据中心代理IP指的是由数据中心提供的IP地址&#xff0c;用于隐藏真实服务器的位置和身份。与其他类型的代理IP相…...

《昇思25天学习打卡营第6天|ResNet50图像分类》

写在前面 从本次开始&#xff0c;接触一些上层应用。 本次通过经典的模型&#xff0c;开始本次任务。这里开始学习resnet50网络模型&#xff0c;应该也会有resnet18&#xff0c;估计18的模型速度会更快一些。 resnet 通过对论文的结论进行展示&#xff0c;说明了模型的功能&…...

Activiti 6 兼容openGauss数据库bytes类型不匹配

当前有个项目需要做国产调研&#xff0c;需要适配高斯数据库&#xff0c;项目启动的时候&#xff0c;提示column "bytes_" is type bytea but expression is of type blob byte_字段是act_ge_bytearray表的&#xff0c;openGauss里的类型是bytea&#xff0c;类型是匹…...

缓存技术:提升性能与效率的利器

在当今数字化时代&#xff0c;软件应用的性能与响应速度成为了衡量其成功与否的重要标准之一。随着数据量的爆炸性增长和用户需求的日益多样化&#xff0c;如何高效地处理这些数据并快速响应用户请求成为了软件开发中亟待解决的问题。缓存技术&#xff0c;作为提升系统性能、优…...

LeetCode 637, 67, 399

文章目录 637. 二叉树的层平均值题目链接标签思路代码 67. 二进制求和题目链接标签思路代码 399. 除法求值题目链接标签思路导入value 属性find() 方法union() 方法query() 方法 代码 637. 二叉树的层平均值 题目链接 637. 二叉树的层平均值 标签 树 深度优先搜索 广度优先…...

如何压缩视频大小不改变画质?这5个视频压缩免费软件超好用!

如何压缩视频大小不改变画质&#xff1f;随着生活的水平逐步提高&#xff0c;视频流媒体服务越来越受欢迎。提供简短而引人注目的视频来展示您的产品或服务已成为一种出色的营销手段。然而&#xff0c;当您要准备导出最终视频时&#xff0c;可能会面临一个常见问题&#xff1a;…...

深入理解 Java 虚拟机第三版(周志明)

这次社招选的这本作为 JVM 资料查阅&#xff0c;记录一些重点 1. 虚拟机历史 Sun Classic VM &#xff1a;已退休 HotSpot VM&#xff1a;主流虚拟机&#xff0c;热点代码探测技术 Mobile / Embedded VM &#xff1a;移动端、嵌入式使用的虚拟机 2.2 运行时数据区域 程序计…...

算法 定长按组翻转链表

一、题目 已知一个链表的头部head&#xff0c;每k个结点为一组&#xff0c;按组翻转。要求返回翻转后的头部 k是一个正整数&#xff0c;它的值小于等于链表长度。如果节点总数不是k的整数倍&#xff0c;则剩余的结点保留原来的顺序。示例如下&#xff1a; &#xff08;要求不…...

安装nfs和rpcbind设置linux服务器共享磁盘

1、安装nfs和rpcbind 1.1 检查服务器是否安装nfs和rpcbind&#xff0c;执行下命令&#xff0c;检查服务器是否安装过。 rpm -qa|grep nfs rpm -qa|grep rpcbind 说明服务器以安装了&#xff0c;如果没有就需要自己安装 2、安装nfs和rpcbind 将rpm安装包&#xff1a; libtirpc-…...

物联网在电力行业的应用

作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…...

Java 代码规范if嵌套

在Java编程中&#xff0c;过度的if嵌套会使代码难以阅读和维护。为了遵循良好的代码规范&#xff0c;我们应尽量减少嵌套的深度。这通常可以通过重新组织代码或使用其他结构&#xff08;如switch语句&#xff0c;或者将逻辑封装到单独的方法中&#xff09;来实现。 以下是一个…...

ASPICE如何确保汽车软件产品质量的稳固基石

ASPICE通过一系列的方法和原则来保障汽车软件产品的质量&#xff0c;以下是其保障产品质量的几个关键方面&#xff1a; 制定明确的质量方针和目标&#xff1a; ASPICE要求组织制定明确的质量方针和目标&#xff0c;这些方针和目标与客户需求和预期相一致。 开发团队需要定义软…...

【深度学习】yolov8-seg分割训练,拼接图的分割复原

文章目录 项目背景造数据训练 项目背景 在日常开发中&#xff0c;经常会遇到一些图片是由多个图片拼接来的&#xff0c;如下图就是三个图片横向拼接来的。是否可以利用yolov8-seg模型来识别出这张图片的三张子图区域呢&#xff0c;这是文本要做的事情。 造数据 假设拼接方式有…...

Python升级打怪—Django入门

目录 一、Django简介 二、安装Django 三、创建Dajngo项目 (一) 创建项目 (二) 项目结构介绍 (三) 运行项目 (四) 结果 一、Django简介 Django是一个高级Python web框架&#xff0c;鼓励快速开发和干净、实用的设计。由经验丰富的开发人员构建&#xff0c;它解决了web开…...

leetcode面试题17.最大子矩阵

sooooooo long没刷题了&#xff0c;汗颜 题目链接&#xff1a;leetcode面试题17 1.题目 给定一个正整数、负整数和 0 组成的 N M 矩阵&#xff0c;编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2]&#xff0c;其中 r1, c1 分别代表子矩阵左上角的行号和…...

计算机网络:构建联结的基础

目录 1. 网络拓扑结构 1.1 星型拓扑 1.2 环型拓扑 1.3 总线型拓扑 1.4 网状拓扑 2. 传输介质 2.1 双绞线 2.2 同轴电缆 2.3 光纤 2.4 无线电波 3. 协议栈模型 3.1 OSI模型 3.2 TCP/IP模型 4. 网络设备 4.1 交换机 4.2 路由器 4.3 网关 4.4 防火墙 5. IP地址…...

node和npm安装;electron、 electron-builder安装

1、node和npm安装 参考&#xff1a; https://blog.csdn.net/sw150811426/article/details/137147783 下载&#xff1a; https://nodejs.org/dist/v20.15.1/ 安装&#xff1a; 点击下载msi直接运行安装 安装完直接cmd打开可以&#xff0c;默认安装就已经添加了环境变量&…...

操作系统概念(黑皮书)阅读笔记

操作系统概念&#xff08;黑皮书&#xff09;阅读笔记 进程和内存管理部分章节 导论&#xff1a; 操作系统类似于政府&#xff0c;其本身不能实现任何有用功能&#xff0c;而是提供一个方便其他程序执行有用工作的环境 ​ 个人理解&#xff1a;os是government的作用&#xff0…...

matlab gui下的tcp client客户端编程框架

GUI界面 函数外定义全局变量 %全局变量 global TcpClient; %matlab作为tcpip客户端 建立连接 在“连接”按钮的回调函数下添加以下代码&#xff1a; global TcpClient;%全局变量 TcpClient tcpip(‘192.168.1.10’, 7, ‘NetworkRole’,‘client’); %连接到服务器地址和端…...

Matplotlib : Python 的绘图库

Matplotlib 是一个 Python 的绘图库&#xff0c;广泛用于生成各种静态、动态、交互式的图表。它基于 NumPy&#xff0c;一个用于科学计算的 Python 库。Matplotlib 可以用于生成出版质量级别的图表&#xff0c;并且提供了丰富的定制选项&#xff0c;以适应不同用户的需求。以下…...

数据编织 VS 数据仓库 VS 数据湖

目录 1. 什么是数据编织?2. 数据编织的工作原理3. 代码示例4. 数据编织的优势5. 应用场景6. 数据编织 vs 数据仓库6.1 数据存储方式6.2 数据更新和实时性6.3 灵活性和可扩展性6.4 查询性能6.5 数据治理和一致性6.6 适用场景6.7 代码示例比较 7. 数据编织 vs 数据湖7.1 数据存储…...

CSS(十一)——CSS分组和嵌套,尺寸(Dimension)

CSS 分组 和 嵌套 选择器 分组选择器 举个例子&#xff0c;多个标签有同一个样式&#xff0c;就可以不一个一个分开写&#xff0c;使用分组选择器 比如&#xff1a; h1 {color:green; } h2 {color:green; } p {color:green; } 就可以写为&#xff1a; h1,h2,p {color…...

必备神器!三款优秀远程控制电脑软件推荐

嘿&#xff0c;各位职场小伙伴们&#xff0c;今儿个咱们来聊聊个挺实用又带点“科技范儿”的话题——电脑远程控制那点事儿。作为刚踏入职场不久的新人&#xff0c;我深刻体会到&#xff0c;在这信息爆炸的时代&#xff0c;掌握几招远程操作的技能&#xff0c;简直就是给自个儿…...

关于正运动学解机器人手臂算法

机器人正运动学是机器人学的一个分支&#xff0c;研究机器人的运动和位置之间的关系。它通过解析机器人的结构和关节参数&#xff0c;以及给定的关节角度&#xff0c;来计算机器人的末端执行器的位置和姿态。 机器人正运动学算法通常使用DH&#xff08;Denavit-Hartenberg&…...

MySQL 约束 (constraint)

文章目录 约束&#xff08;constraint)列级约束和表级约束给约束起名字&#xff08;constraint)非空约束&#xff08;no null)检查约束&#xff08;check)唯一性约束 (unique)主键约束 (primary key)主键分类单一主键复合主键主键自增 &#xff08;auto_increment) 外键约束外什…...