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

http 与 https 汇总

文章目录

    • http 与 https
      • HTTP(超文本传输协议)介绍
        • 1. 基本概念
        • 2. 工作原理
        • 3. 特点
        • 4. 应用场景
      • HTTPS(超文本传输安全协议)介绍
        • 1. 基本概念
        • 2. 工作原理
        • 3. 特点
        • 4. 应用场景
    • HTTP协议的工作原理
        • 请求阶段
        • 响应阶段
        • 客户端解析处理
    • 协议的安全性
    • 增强HTTP协议的其它方法

http 与 https

HTTP(超文本传输协议)介绍

1. 基本概念

HTTP(Hypertext Transfer Protocol)即超文本传输协议,是互联网上应用最为广泛的一种网络协议,它是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议。它基于客户端-服务器架构进行通信,客户端(通常是浏览器)向服务器发送请求,服务器接收请求后进行处理并返回相应的响应内容,比如网页、图片、文本文件等。

2. 工作原理
  • 请求阶段:客户端发起一个HTTP请求,请求消息包含请求行(如请求方法,常见的有GET用于获取资源、POST用于提交数据等,还有请求的URL以及协议版本等信息)、请求头(包含各种描述请求的元信息,像客户端可接受的内容类型、语言等)和请求体(对于部分请求方法如POST,会携带要提交的数据)。
  • 响应阶段:服务器接收到请求后,会返回一个HTTP响应。响应消息包括响应行(包含协议版本、状态码及状态描述,例如 200 OK表示请求成功处理,404 Not Found表示请求的资源未找到等)、响应头(包含如服务器类型、响应内容的类型、长度等信息)以及响应体(即实际要返回给客户端的内容,比如HTML页面的代码等)。
3. 特点
  • 简单快速:其协议格式比较简单,请求和响应的消息结构清晰易懂,便于实现和解析,能快速完成一次通信交互。
  • 灵活:可以传输多种类型的数据,通过在请求头和响应头中设置相应的类型标识,能处理文本、图片、音频、视频等不同格式的资源。
  • 无状态:服务器不会记录客户端之前的请求状态,每一次请求对于服务器来说都是独立的,这种特性使得服务器实现相对简单,但在一些需要保持用户登录状态等场景下,往往需要借助额外的技术(如Cookie、Session等)来维持状态。
4. 应用场景
  • 浏览普通网页:大量的资讯类网站、博客等,用户通过浏览器访问这些网站查看文章、图片等内容时,基本都是基于HTTP协议来传输网页数据的,比如常见的新浪、网易等新闻网站的内容页面获取。
  • 获取静态资源:像网站中的图片、样式表(CSS文件)、脚本文件(JavaScript文件)等静态资源,在浏览器请求加载时,也是通过HTTP协议从服务器端传输到客户端浏览器进行展示的。

HTTPS(超文本传输安全协议)介绍

1. 基本概念

HTTPS(Hypertext Transfer Protocol Secure)即超文本传输安全协议,是在HTTP的基础上加入了SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全协议)加密协议,通过加密通信和身份验证等手段,为网络通信提供了安全性保障,使得数据在传输过程中不易被窃取、篡改或伪造。

2. 工作原理
  • 证书验证:客户端向服务器发起连接请求后,服务器首先会向客户端发送其数字证书,该证书包含了服务器的公钥以及一些认证机构(CA,Certificate Authority)对服务器身份验证的相关信息。客户端会通过内置的CA根证书来验证服务器证书的合法性,确认是否信任该服务器。
  • 密钥协商:在验证通过后,客户端和服务器利用非对称加密算法(基于服务器的公钥等)进行对称加密密钥的协商,协商出的对称加密密钥后续用于对实际传输的数据进行加密和解密,对称加密在大量数据传输时效率相对较高。
  • 数据加密传输:之后双方使用协商好的对称加密密钥对要传输的HTTP数据(请求和响应内容)进行加密,使得数据在网络传输过程中以密文形式存在,到达对方后再用对应的密钥解密还原数据进行处理。
3. 特点
  • 安全性高:通过加密防止数据被窃听,利用数字证书验证身份防止中间人攻击等,保障了通信双方的真实性以及数据的保密性和完整性。
  • 可靠性好:在安全的通信基础上,能稳定地传输数据,让涉及敏感信息的交互可以可靠地进行,不易出现因安全问题导致的数据异常情况。
  • 信任传递:由于数字证书是由权威的CA机构颁发的,在整个互联网信任体系下,能让客户端方便地确认与之通信的服务器是否是合法可信的。
4. 应用场景
  • 电商交易:在网上购物过程中,用户登录电商平台、填写收货地址、支付等涉及大量个人隐私信息(如账号密码、银行卡信息等)的环节,都需要通过HTTPS协议来保障数据安全,像淘宝、京东等电商平台都是使用HTTPS进行此类关键交互的。
  • 金融服务:银行的网上银行、手机银行等业务,用户登录、转账、查询账户余额等操作涉及高度敏感的金融数据,必须采用HTTPS协议,防止用户资金相关信息泄露,确保交易安全。
  • 登录认证:各类需要用户登录的平台,尤其是涉及重要个人信息或者有商业价值账号的登录场景,比如社交平台(微信、QQ等)、企业办公软件等,通过HTTPS保障登录时用户名和密码等信息的安全传输,防止账号被盗用。

HTTP协议的工作原理

HTTP协议的工作原理主要涉及以下几个阶段:

请求阶段
  • 构建请求消息:客户端(通常为浏览器)发起HTTP请求时,会构建一个请求消息。这个请求消息主要由三部分构成。

    • 请求行:包含请求方法(如常见的GET用于获取资源,POST用于向服务器提交数据,PUT用于更新资源,DELETE用于删除资源等)、请求的URL(即统一资源定位符,明确要访问的资源在服务器上的位置)以及所遵循的HTTP协议版本(比如HTTP/1.1或HTTP/2等)。例如“GET /index.html HTTP/1.1”,就表明使用GET方法请求服务器根目录下的index.html文件,遵循HTTP/1.1协议版本。
    • 请求头:包含众多描述请求的元信息。比如“User-Agent”字段会标明客户端的类型及版本(像浏览器的具体名称和版本号等),让服务器知道是何种客户端在发起请求;“Accept”字段用于告知服务器客户端能够接受的响应内容的类型(如text/html表示可以接受HTML格式的内容、image/png表示能接受PNG格式的图片等);还有“Cookie”字段(如果存在的话)会携带之前服务器设置在客户端的一些会话相关信息,用于维持用户在网站中的状态等;“Content-Type”字段(对于有请求体的请求方法)会说明请求体中数据的类型等。
    • 请求体:对于部分请求方法(像POST、PUT等)才有请求体。例如在使用POST方法提交表单数据时,请求体中就会包含用户在表单中填写的各项信息,按照一定的格式(如常见的application/x-www-form-urlencoded格式对数据进行编码后存放)进行组织。
  • 发送请求:客户端将构建好的请求消息通过网络发送给目标服务器,发送过程会遵循TCP/IP协议栈的相关规则,先将HTTP请求消息进行层层封装,然后通过网络传输到服务器对应的端口(HTTP默认端口是80端口,不过也可以配置为其他端口)。

响应阶段
  • 接收请求并处理:服务器在对应的端口接收到客户端发送的HTTP请求后,会根据请求的内容进行相应的处理。例如,如果是请求一个网页资源,服务器会查找对应的HTML文件;如果是请求执行某个操作(如通过POST请求提交的数据进行数据库更新操作等),服务器会调用相应的业务逻辑代码来处理。
  • 构建响应消息:服务器处理完请求后,会构建一个响应消息反馈给客户端,同样由三部分组成。
    • 响应行:包含所使用的HTTP协议版本(一般与客户端请求的版本相匹配或者遵循服务器端支持的合适版本)、状态码以及状态描述。常见的状态码如200 OK表示请求已成功处理,服务器成功找到了客户端请求的资源并返回;404 Not Found表示客户端请求的资源在服务器上不存在,无法找到;500 Internal Server Error表示服务器在处理请求过程中出现了内部错误等。例如“HTTP/1.1 200 OK”表明响应遵循HTTP/1.1协议版本,且请求处理成功。
    • 响应头:包含各种描述响应的信息。比如“Server”字段会标明服务器端使用的软件类型及版本(像Apache服务器、Nginx服务器及其对应的版本号等);“Content-Type”字段用于告知客户端响应体中内容的类型,让客户端知晓如何正确解析和展示,例如“Content-Type: text/html”说明响应体是HTML格式的内容;“Content-Length”字段会指出响应体内容的长度(字节数),方便客户端准确接收完整的数据等。
    • 响应体:这是服务器实际要返回给客户端的内容,可能是HTML页面的代码、图片的二进制数据、JSON格式的数据等,具体取决于客户端的请求以及服务器端的处理结果。
  • 发送响应:服务器将构建好的响应消息按照网络协议的要求,通过网络回传给客户端,同样要经过TCP/IP协议栈的层层封装和传输,最终客户端会在对应的端口接收到服务器发来的响应消息。
客户端解析处理

客户端接收到服务器发送的响应消息后,会首先按照网络协议进行解包,然后解析响应消息的各个部分。根据响应头中的“Content-Type”等信息,对响应体内容进行相应的处理。例如,如果是HTML格式的内容,浏览器会进行渲染展示出网页页面;如果是图片数据,会在网页的相应位置进行图片显示等,从而完成一次完整的HTTP协议通信流程。

协议的安全性

  1. 使用HTTPS协议替代HTTP协议
    • 原理
      • HTTPS(Hypertext Transfer Protocol Secure)是在HTTP基础上加入SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全协议)加密协议。SSL/TLS协议通过非对称加密和对称加密相结合的方式来保证数据传输的安全性。
      • 在连接建立初期,服务器会向客户端发送数字证书。这个数字证书包含服务器的公钥以及一些认证机构(CA,Certificate Authority)对服务器身份验证的相关信息。客户端会通过内置的CA根证书来验证服务器证书的合法性,确认是否信任该服务器。验证通过后,客户端和服务器利用非对称加密算法(基于服务器的公钥等)进行对称加密密钥的协商,协商出的对称加密密钥后续用于对实际传输的HTTP数据(请求和响应内容)进行加密,使得数据在网络传输过程中以密文形式存在,到达对方后再用对应的密钥解密还原数据进行处理。
    • 优势
      • 数据加密:有效防止数据在传输过程中被窃取。例如,在用户通过网络传输银行卡密码等敏感信息时,使用HTTPS加密后,即使数据被拦截,攻击者也无法获取原始的明文信息。
      • 身份验证:通过数字证书验证服务器的身份,防止中间人攻击。例如,当用户访问银行网站时,只有合法的银行服务器才能提供被信任的数字证书,确保用户连接的是真正的银行服务器,而不是伪装的恶意服务器。
  2. 采用HTTP认证机制
    • 基本认证(Basic Authentication)
      • 原理:这是一种简单的认证方式。当客户端请求需要认证的资源时,服务器会返回一个401 Unauthorized状态码,并在响应头的WWW - Authenticate字段中指定认证方式(如Basic)和认证域(realm)。客户端收到后,会弹出一个用户名和密码的输入框,用户输入凭据后,客户端将用户名和密码用Base64编码后放在请求头的Authorization字段中发送给服务器。服务器收到后,解码并验证凭据是否正确。
      • 注意事项:Base64编码只是一种简单的编码方式,不是加密,所以在传输过程中容易被截获和破解。因此,这种方式适用于安全性要求相对较低的场景或者在内部网络等受信任的环境中使用。
    • 摘要认证(Digest Authentication)
      • 原理:它是一种比基本认证更安全的认证方式。当客户端请求资源时,服务器同样返回401 Unauthorized状态码和WWW - Authenticate字段,其中包含摘要认证所需的信息,如realm、nonce(一个随机数)等。客户端根据这些信息和用户的密码计算出一个摘要(使用MD5或其他哈希算法),并将摘要、用户名等信息放在请求头的Authorization字段中发送给服务器。服务器收到后,根据自己保存的用户信息和相同的算法计算摘要,然后与客户端发送的摘要进行比较,以验证用户身份。
      • 优势:因为摘要认证使用哈希算法对密码进行处理,没有在网络中传输明文密码,所以相对基本认证安全性更高。
  3. 对数据进行加密处理后再传输
    • 在客户端加密
      • 原理:在发送HTTP请求之前,使用加密算法(如AES、RSA等)对请求数据进行加密。例如,在一个企业内部的敏感数据传输应用中,客户端可以使用AES对称加密算法对数据进行加密,将加密后的数据发送给服务器。
      • 操作方式:需要在客户端代码中实现加密逻辑,并且服务器端要能够正确接收和处理加密后的数据,通过解密算法将数据还原后再进行后续处理。
    • 在服务器端加密
      • 原理:服务器接收到HTTP请求后,对敏感数据进行加密存储。例如,在一个数据库应用中,服务器接收到包含用户隐私信息的请求后,使用加密算法将这些信息加密后再存入数据库。
      • 操作方式:服务器端的应用程序需要具备加密模块,并且在需要使用这些数据时能够正确地解密。
  4. 使用安全的网络架构和防护设备
    • 防火墙
      • 原理:防火墙可以设置规则,阻止未经授权的外部访问和恶意流量。例如,企业网络中的防火墙可以根据IP地址、端口号、协议类型等信息来过滤HTTP流量,只允许来自特定IP范围的合法客户端访问内部的HTTP服务器,并且可以阻止外部网络对内部服务器的恶意扫描和攻击。
    • 入侵检测系统(IDS)和入侵防御系统(IPS)
      • 原理:IDS可以监测网络中的可疑活动,如异常的HTTP请求模式(如频繁尝试访问不存在的资源可能是扫描行为),并发出警报。IPS不仅可以检测,还可以主动采取措施,如阻断可疑的HTTP连接,防止潜在的攻击进一步发展。
    • 虚拟专用网络(VPN)
      • 原理:VPN通过在公用网络上建立专用网络来进行加密通讯。当客户端通过VPN访问HTTP资源时,数据会在客户端和VPN服务器之间进行加密传输,然后VPN服务器再与目标HTTP服务器进行通信。这样可以隐藏客户端的真实IP地址,并且增加数据传输的安全性,适用于远程办公等场景,员工可以通过VPN安全地访问公司内部的HTTP服务器。

增强HTTP协议的其它方法

  1. 输入验证和过滤
    • 原理
      • 在服务器端对用户输入的内容进行严格验证和过滤。例如,当用户通过HTTP表单提交数据时,服务器可以检查数据的格式、长度、类型等是否符合预期。对于不符合要求的数据,可以拒绝处理或者进行修正。
      • 这可以防止恶意用户通过输入恶意脚本(如SQL注入攻击中的SQL语句、跨站脚本攻击中的JavaScript脚本等)来破坏系统或者窃取数据。
    • 应用场景和示例
      • 在一个Web应用程序的用户注册表单中,对于用户输入的用户名,服务器可以验证其长度是否在合理范围内(如3 - 20个字符),是否只包含字母、数字和一些允许的特殊字符(如下划线)。对于用户输入的密码,除了长度要求外,还可以检查是否包含足够的复杂度(如至少包含一个大写字母、一个小写字母和一个数字)。
      • 在处理用户评论等文本内容输入时,对输入的内容进行HTML标签过滤,防止用户输入恶意的HTML或JavaScript标签来进行跨站脚本攻击。例如,将用户输入的“”进行过滤,去除

相关文章:

http 与 https 汇总

文章目录 http 与 httpsHTTP(超文本传输协议)介绍1. 基本概念2. 工作原理3. 特点4. 应用场景 HTTPS(超文本传输安全协议)介绍1. 基本概念2. 工作原理3. 特点4. 应用场景 HTTP协议的工作原理请求阶段响应阶段客户端解析处理 协议的…...

龙蜥 Linux 安装 Nginx

龙蜥 Linux 安装 Nginx 下载编译安装配置编译参数先装依赖编译安装 使用启动检查配置文件重启关闭 503权限问题参考资料 下载 下载地址详情见参考资料,我下的 nginx-1.26.2.tar.gz 到 /home/jerry/ /home/jerry$ curl -O http://nginx.org/download/nginx-1.26.2.…...

8. 一分钟读懂“代理模式”

8.1 模式介绍 代理模式是一种结构型设计模式,它通过提供一个代理对象来替代对另一个对象(真实对象)的访问。代理对象与真实对象实现相同的接口,并通过代理类对真实对象的访问进行控制,可以在调用前后执行附加操作&…...

分布式搜索引擎Elasticsearch

Elasticsearch是一个基于Lucene库的开源分布式搜索引擎,它被设计用于云计算中,能够实现快速、near-real-time的搜索,并且可以进行大规模的分布式索引。 以下是一个简单的Python代码示例,展示如何使用Elasticsearch的Python客户端…...

完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32(主要是想针对ESP32C3和S3)开发板的鸿蒙系统(失败)

基本上完全按照手册来的,除了Ubuntu虚拟机使用了22.04 Jammy版本,鸿蒙手册里是20.04 版本,主要是鸿蒙里3年前的手册了,所以就擅自用了高版本。 据此还想到一点,鸿蒙LiteOS,还挺稳定的,3年也没有…...

MySQL 8.0与PostgreSQL 15.8的性能对比

以下是MySQL 8.0与PostgreSQL 15.8的性能对比: MySQL 8.0性能特点: MySQL在处理大量读操作时表现出色,其存储引擎InnoDB提供了行级锁定和高效的事务处理,适用于并发读取的场景。MySQL通过查询缓存来提高读取性能,查询缓…...

hive 行转列

行转列的常规做法是,group bysum(if())【或count(if())】 建表: CREATE TABLE table2 (year INT,month INT,amount DOUBLE );INSERT INTO table2 (year, month, amount) VALUES(1991, 2, 1.2),(1991, 3, 1.3),(1991, 4, 1.4),(1992, 1, 2.1),(1992, 2, 2.2),(1992…...

linux——进程间通信system V消息队列

Linux——命名管道及日志-CSDN博客 文章目录 目录 文章目录 前言 一、system V消息队列是什么? 二、相关库接口 1.shmget接口 2、ftok接口 3、shmget、ftok接口封装 4、共享内存操作 ​编辑 5、shmdt接口 三.函数的调用 1、查看共享内存 2、shell 四…...

Seatunnel解决ftp读取json文件无法读取数组以及格式化之后的json无法解析的问题

问题原因 在JsonRead这个方法里面 在源码中使用的逻辑是读取一行 然后把这个json进行解析 但是这样存在一个问题 比如如果json的格式是这样的 { name:“zhangsan”, age:25 } 如果是这样的话 第一行读到的内容就是 { 显然 一个 { 并不是一个…...

[Vue Router warn]: No match found for location with path 解决方法

在使用vue3 vue-router4时 当列表A组件使用 加上keep-alive缓存后,跳转至详情页面时出现 [Vue Router warn]: No match found for location with path "/atlas/editDetails" 解决方案: 把 router.push({ path: "/atlas/editDetails&…...

优傲协作机器人 Remote TCP Toolpath URCap(操作记录)

目录 一、新机设置项 1、设置管理员密码 2、设置安全密码 3、设置负载 二、激活 Remote TCP & Toolpath URCap 1、插入U盘 2、打开激活面板 3、导入许可证 4、查看是否激活成功 5、启用功能 三、使用流程(官方) 步骤一 步骤二 步骤三 …...

使用历史索引监控 Elasticsearch 索引生命周期管理

作者:来自 Elastic Stef Nestor 大家好!在之前的一篇博客中,我们概述了常见的索引生命周期管理 (index lifecycle management - ILM) 问题及其解决方案。此后,我们已将这些常见场景添加到我们的 Elasticsearch 文档中,…...

[网络安全]sqli-labs Less-5 解题详析

[网络安全]Less-5 GET - Double Injection - Single quotes - String:双注入GET单引号字符型注入 判断注入类型判断注入点个数查库名(爆破) left函数抓包查库名(双查询注入) 原理实例查库名(extractvalue函数&#xff…...

贪心算法入门(一)

第1题 礼物 查看测评数据信息 国庆马上要到了。小明喜欢的礼物有n种分别是:公仔、电子手表、漫画书等。 每种礼物有一件,每种礼物价钱都不一样。小明手头上有 m 元。 小明最多可以买多少件礼物? 输入格式 第一行,两个整数&…...

HTTP 探秘之旅:从入门到未来

文章目录 导言:目录:第一篇:HTTP,互联网的“快递员”第二篇:从点开网页到看到内容,HTTP 究竟做了什么?第三篇:HTTP 的烦恼与进化史第四篇:HTTP 的铠甲——HTTPS 的故事第…...

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络(VPN)详细介绍 虚拟专用网络(VPN)通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密: 隧道协议:使用协议如PPTP、L2TP/IP…...

人工智能中的深度学习:原理与实践

什么是深度学习? 深度学习(Deep Learning)是机器学习的一个分支,旨在通过模拟人脑的神经网络结构来解决复杂的任务。深度学习通过多层神经网络,自动从数据中学习特征,避免了传统机器学习中手动特征工程的繁…...

复现SMPLify-X: Ubuntu22.04, Cuda-11.3, GPU=3090Ti

Env: 3090Ti CUDA 最低支持版本需要>cuda-11.1 Ubuntu 22.04 Installation: Installing CUDA11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.run …...

qt QGraphicsScale详解

1、概述 QGraphicsScale是Qt框架中提供的一个类,它提供了一种简单而灵活的方式在QGraphicsView框架中实现缩放变换。通过设置水平和垂直缩放因子、缩放中心点,可以创建各种缩放效果,提升用户界面的交互性和视觉吸引力。结合QPropertyAnimati…...

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统 php7.4及以上 / mysql5.6 / 伪静态:thinkphp / 运行目录:/public / 修改数据库:/config/database.php /后台:/admin 账号密码 admin q2821706481 …...

ubuntu 根分区逻辑卷扩容

1、虚拟机关机通过管理界面给磁盘扩容。 rootcurtis:/home/curtis/git_code# pvdisplay--- Physical volume ---PV Name /dev/vda3VG Name ubuntu-vgPV Size <239.00 GiB / not usable 0Allocatable yes (but full)PE…...

Word分栏后出现空白页解决方法

Word分栏后出现空白页解决方法 只需要在后面的空白页设置相同的页面布局(分栏格式)&#xff0c;然后按Ctrl backspace即可删除该空白页。 参考文章&#xff1a;Word分栏出现空白怎么解决。...

Ansible自动化运维-Ansible安装与主机列表

目录 1.Ansilble的功能及优点 2.Ansible架构 3.Ansible执行流程 4.Ansible安装 5.Ansible配置文件 6.Ansible主机列表 1.Ansilble的功能及优点 &#xff08;1&#xff09;远程执行 批量执行远程命令&#xff0c;可以对多台主机进行远程操作。 &#xff08;2&#xff0…...

大模型使用-提示学习-基础提示

一、基础提示简介 1、常用提示方法 上下文学习&#xff1a;ICL&#xff08;In-context Learning&#xff09;任务描述与问答示例以自然语言形式加入到提示中思维链提示&#xff1a;CoT&#xff08;Chain-of-Thought&#xff09;&#xff0c;是一种增强技术&#xff0c;将思维…...

【Java基础面试题004】封装、继承、重载、多态、接口和抽象类是什么?

目录 回答重点 封装 继承 重载 多态 接口 抽象类 扩展知识 继承的优缺点 编译时多态&运行时多态 编译时多态 运行时多态 重写&重载区别 为什么Java不支持多继承&#xff1f; 为什么Java支持接口多实现&#xff1f; 接口的成员 抽象类的注意事项 接口&…...

AI、VR与空间计算:教育和文旅领域的数字转型力量

在这个数字技术高速发展的时代&#xff0c;AI、VR技术及大空间计算技术&#xff0c;已成为推动多个行业革新的强劲动力。近日&#xff0c;世优科技推出了最新研发的VR大空间产品《山海经》&#xff0c;这一全新的沉浸式体验项目不仅重新定义了观展方式&#xff0c;还为文化旅游…...

【CC2530开发基础篇】光敏和热敏传感器

一、前言 1.1 开发背景 本实验通过CC2530单片机接入光敏传感器和热敏传感器&#xff0c;进行数据采集与检测&#xff0c;并将检测结果通过串口终端输出。光敏传感器和热敏传感器是常见的环境感知设备&#xff0c;分别用于测量光强和温度。在实际应用中&#xff0c;这些传感器…...

Android8.1初始化RGB屏

初始化文件类似如下 #define HSW 8 #define HBD 160 #define HFD 140 #define VSW 8 #define VBD 20 #define VFD 20#frame rate60Hz #Pixel Clk25Mhz #MIPI_CLK300Mbps(MIPI通道速率)SPI_RES1; Delay(20); //延迟20ms SPI_RES0; Delay(50); //延迟50ms SPI_RES1; Delay(120);…...

Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)

《SwanLab机器学习实战教程》是一个主打「开箱即用」的AI训练系列教程&#xff0c;我们致力于提供完善的数据集、源代码、实验记录以及环境安装方式&#xff0c;手把手帮助你跑起训练&#xff0c;解决问题。 Qwen2-VL是通义千问团队最近开源的大语言模型&#xff0c;由阿里云通…...

ElasticSearch easy-es 聚合函数 group by 混合写法求Top N 词云 分词

1.将用户访问记录表数据同步到ES&#xff0c;并且分词&#xff0c;获取用户访问最多前十条词语。 Elasticsearch、Easy-es 快速入门 SearchAfterPage分页 若依前后端分离 Ruoyi-Vue SpringBoot 使用结巴分词器 <!-- 分词器--><dependency><groupId>com.hua…...

400G智算网络助力知名自动驾驶企业算力训练提效

根据Gartner的最新趋势预测&#xff0c;自动驾驶技术正迅速发展&#xff0c;预计在未来几年内将带来显著的商业效益&#xff0c;特别是在决策智能和边缘人工智能领域。目前&#xff0c;一家领军企业正积极拥抱基于大模型的数字化转型之路&#xff0c;作为自动驾驶领域的佼佼者&…...

替代FTP最佳跨网文件传输解决方案——FileLink

在传统的企业文件传输中&#xff0c;FTP&#xff08;文件传输协议&#xff09;曾因其便捷性和高效性被广泛应用。然而&#xff0c;其固有的安全漏洞、对大文件传输支持的局限性、易受网络攻击等问题&#xff0c;已逐渐暴露出FTP在现代企业环境下的不足。针对这一问题&#xff0…...

冒泡排序算法介绍以及java实现

冒泡排序是一种简单的排序算法&#xff0c;它重复地走访过要排序的元素列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。重复地进行这个操作直到整个序列都是有序的。 冒泡排序算法的基本思想是&#xff1a;比较相邻的两个元素&#xff0c;如…...

echarts的双X轴,父级居中的相关配置

前言&#xff1a;折腾了一个星期&#xff0c;在最后一天中午&#xff0c;都快要放弃了&#xff0c;后来坚持下来&#xff0c;才有下面结果。 这个效果就相当是复合表头&#xff0c;第一行是子级&#xff0c;第二行是父级。 子级是奇数个时&#xff0c;父级label居中很简单&…...

模拟实现单链表 —— SingleLinkedList

模拟实现 java 中单链表的实现&#xff0c;方便后续对 java 中的 LInkedList 进行理解。 MySingleList类&#xff1a; public class MySingleList {/*** 定义节点类*/static class ListNode {// 节点值private int val; // 下一个节点的引用private ListNode next; public Lis…...

【NoSQL数据库】MongoDB数据库——文档的查询操作(多条件查询、聚合aggregate、管道)

往期文章&#xff1a; ​​​​​​【NoSQL数据库】MongoDB数据库的安装与卸载-CSDN博客 【NoSQL数据库】MongoDB数据库——集合和文档的基本操作&#xff08;创建、删除、更新、查询&#xff09;-CSDN博客 目录 一、MongoDB文档查询原理 1、使用 find() 方法进行文档基本…...

预训练模型与ChatGPT:自然语言处理的革新与前景

目录 一、ChatGPT整体背景认知 &#xff08;一&#xff09;ChatGPT引起关注的原因 &#xff08;二&#xff09;与其他公司的竞争情况 二、NLP学习范式的发展 &#xff08;一&#xff09;规则和机器学习时期 &#xff08;二&#xff09;基于神经网络的监督学习时期 &…...

桂湾公园的地面免费停车场(50个左右)

之前一直以为桂湾公园只有P1和P2地下停车场可以免费停车。没想到桂湾公园还有地面停车场&#xff0c;停车位大概是50个。 具体位置在桂湾公园5号门地上停车场。 桂湾公园-5号门 广东省深圳市南山区桂湾河南街与鲤鱼门西二街交叉口西北20米 停车场入口对面是红星美凯龙&#x…...

如何高效地架构一个Java项目

引言 Java是企业级应用开发的主流语言之一&#xff0c;而我们作为使用Java语言的程序员&#xff0c;职称有初级、中级、高级、资深、经理、架构&#xff0c;但我们往往只是慢慢通过经验的积累迭代了自己的等级&#xff0c;如果没有保持学习的习惯&#xff0c;大多数程序员会停留…...

如何把阿里云ECS里的文件下载到本地(免登录免配置)

如何把阿里云ECS里的文件下载到本地&#xff08;免登录免配置&#xff09; 作为一个阿里云ECS的用户&#xff0c;Up时长会遇到希望把ECS里的文件下载到自己的个人电脑&#xff0c;然后在自己的电脑里面查看&#xff0c;保存或者发送给别人。最近发现阿里云新上了一个功能&…...

【采样率、采样定理、同步和异步采样】

内容来源&#xff1a;【数据采集卡的【采样率】【采样定理】【同步采样】【异步采样】的相关说明】 此篇文章仅作笔记分享。 前言 模拟信号需要通过采样、储存、量化、编码这几个步骤转换成数字信号&#xff0c;本篇文章将会对采样进行一个更详细的说明。 采样 采样就是将一…...

javascript和python实现用户倒计时功能

HTML部分&#xff1a; 有一个input输入框&#xff0c;其id为countdown-time&#xff0c;用于让用户输入倒计时的秒数。一个按钮&#xff0c;id为start-btn&#xff0c;点击它来触发倒计时开始的操作。还有一个div元素&#xff0c;id为countdown-display&#xff0c;用来实时显示…...

HTML5系列(10)-- 地理位置服务指南

前端技术探索系列&#xff1a;HTML5 地理位置服务指南 &#x1f30d; 致读者&#xff1a;探索位置服务的魅力 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 HTML5 的地理位置服务&#xff08;Geolocation API&#xff09;&#xff0c;这项强大的功能让我们能…...

计算机毕业设计Python+大模型农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

qt QPrinter详解

1、概述 QPrinter类是Qt框架中用于打印输出的绘图设备。它表示打印出来的一系列页面&#xff0c;并提供了一组附加功能来管理特定于设备的特性&#xff0c;比如方向和分辨率。QPrinter可以生成PDF文档&#xff0c;也可以将内容发送到打印机进行实际打印。它继承自QPagedPaintD…...

CentOS 9 配置静态IP

文章目录 1_问题原因2_nmcli 配置静态IP3_使用配置文件固定IP4_重启后存在的问题5_nmcli 补充 1_问题原因 CentOS 7 于 2014年6月发布&#xff0c;基于 RHEL 7&#xff0c;并在 2024年6月30日 结束维护。 CentOS 9 作为目前的最新版本&#xff0c;今天闲来闲来无事下载下来后…...

MySQL2.0

7.B树和B树的区别 结构特点 B树&#xff1a;是一种平衡的多路查找树&#xff0c;它的每个节点包含多个关键字和多个子节点指针。B树的叶子节点和非叶子节点都可以存储数据记录。B树&#xff1a;也是一种平衡多路查找树&#xff0c;B树的非叶子节点只用于索引&#xff0c;即只…...

Nginx 限制 IP 网速

使用Lua和Nginx限制IP网速的基本原理 要限制某个IP的网速&#xff0c;在Nginx中结合Lua可以通过令牌桶算法&#xff08;Token Bucket&#xff09;来实现。令牌桶算法是一种流量整形算法&#xff0c;它以一定的速率生成令牌放入桶中&#xff0c;当请求到来时&#xff0c;需要从桶…...

前端小练习——大雪纷飞(JS没有上限!!!)

大家好&#xff0c;我是小黄。 具体效果&#xff1a;&#xff08;大雪缓缓下落&#xff09; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&qu…...

CE4.【C++ Cont】练习题组4

目录 1.求出 e 的值 题目描述 输入格式 输出格式 输入输出样例 说明/提示 代码 提交结果 2.画矩形 题目描述 输入格式 输出格式 输入输出样例 说明/提示 代码 简化代码 提交结果 3.查找特定的值 题目描述 输入格式 输出格式 输入输出样例 代码 提交结果…...