HTTP 与 HTTPS 协议:从基础到安全强化

引言

互联网的消息是如何传递的?

是在路由器上不断进行跳转

IP的目的是在寻址

HTTP 协议:互联网的基石

定义

HTTP(英文:HyperText Transfer Protocol,缩写:HTTP),即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。它就像是互联网世界的 “快递规则”,规定了从万维网服务器传输超文本到本地浏览器的传送方式,详细定义了客户端和服务器之间数据交互的格式和规则。正是有了 HTTP 协议,我们才能顺畅地从服务器获取网页内容,让丰富多彩的网页呈现在我们眼前。

工作原理

  1. 连接建立:当我们在浏览器地址栏输入一个网址并按下回车键,客户端(浏览器)就会向服务器发送请求,尝试建立连接。这个过程就如同打电话时先拨号码等待对方接听。
  2. 发送请求:客户端通过 HTTP 协议发送请求消息,其中包含请求方法(常见的有 GET、POST 等)、请求头以及可能存在的请求体。请求方法告诉服务器要执行的操作,比如 GET 用于获取资源,POST 用于提交数据。请求头则携带了许多附加信息,例如User - Agent,它会告知服务器我们使用的浏览器类型和版本,就像在快递包裹上贴上寄件人的详细信息。而请求体,对于 POST 请求来说,会存放要提交给服务器的数据,如用户注册时填写的用户名、密码等表单数据。
  3. 服务器响应:服务器接收到请求后,就像快递员收到包裹后进行处理。它会根据请求内容进行一系列操作,然后生成响应消息。响应消息包括响应状态码,比如 200 表示请求成功,服务器成功返回了我们需要的资源;404 则表示未找到请求的资源,就好像快递员找不到收件地址一样。同时,响应消息还包含响应头和响应体。响应头会说明响应数据的类型(如Content - Typetext/html表示返回的是 HTML 网页内容)等信息,而响应体则是服务器返回给我们的实际数据,比如网页的 HTML 代码。
  4. 连接关闭:在数据传输完成后,连接通常会关闭。不过,为了提高效率,在某些情况下,连接也可以保持打开状态,以便客户端能够快速进行后续请求,而无需再次建立连接。

由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。

以下是 HTTP 请求/响应的步骤:

  1. 客户端连接到Web服务器
    一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.luffycity.com。

  2. 发送HTTP请求
    通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

  3. 服务器接受请求并返回HTTP响应
    Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

  4. 释放连接TCP连接
    若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

  5. 客户端浏览器解析HTML内容
    客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

特点

  1. 无状态:HTTP 协议本身是无状态的,这意味着服务器不会记住不同请求之间客户端的状态或信息。每一个请求都是独立的个体,就好像快递员每次送快递都不记得上一次给这个地址送过什么。例如,当我们在一个电商网站浏览商品,从一个页面跳转到另一个页面时,服务器并不会自动记住我们之前浏览过哪些商品,除非我们通过其他方式(如 Cookie)来记录这些信息。
  2. 明文传输:数据在传输过程中以明文形式发送,这就好比我们在一个透明的管道中传递信件,任何人都可以轻易地看到信件的内容。这种特性使得数据容易被窃取、篡改或监听。网络中的不法分子可以通过一些手段截获我们传输的数据,获取我们的账号密码、信用卡信息等敏感内容,还可能恶意篡改数据,导致我们获取到错误的信息。
  3. 应用场景:由于其简单高效,HTTP 协议广泛应用于网页浏览、数据获取等场景。我们日常访问新闻网站、查看博客文章等,都是通过 HTTP 协议来实现的。它就像互联网世界的 “通用语言”,让我们能够便捷地获取各种信息。

HTTP请求方法:

GET

向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。

HEAD

与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

POST

向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

PUT

向指定资源位置上传其最新内容。

DELETE

请求服务器删除Request-URI所标识的资源。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

OPTIONS

这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。

HTTP 协议:互联网的基石

定义

HTTP,即超文本传输协议,它就像是互联网世界的 “快递规则”,规定了从万维网服务器传输超文本到本地浏览器的传送方式,详细定义了客户端和服务器之间数据交互的格式和规则。正是有了 HTTP 协议,我们才能顺畅地从服务器获取网页内容,让丰富多彩的网页呈现在我们眼前。

工作原理

  1. 连接建立:当我们在浏览器地址栏输入一个网址并按下回车键,客户端(浏览器)就会向服务器发送请求,尝试建立连接。这个过程就如同打电话时先拨号码等待对方接听。
  2. 发送请求:客户端通过 HTTP 协议发送请求消息,其中包含请求方法(常见的有 GET、POST 等)、请求头以及可能存在的请求体。请求方法告诉服务器要执行的操作,比如 GET 用于获取资源,POST 用于提交数据。请求头则携带了许多附加信息,例如User - Agent,它会告知服务器我们使用的浏览器类型和版本,就像在快递包裹上贴上寄件人的详细信息。而请求体,对于 POST 请求来说,会存放要提交给服务器的数据,如用户注册时填写的用户名、密码等表单数据。
  3. 服务器响应:服务器接收到请求后,就像快递员收到包裹后进行处理。它会根据请求内容进行一系列操作,然后生成响应消息。响应消息包括响应状态码,比如 200 表示请求成功,服务器成功返回了我们需要的资源;404 则表示未找到请求的资源,就好像快递员找不到收件地址一样。同时,响应消息还包含响应头和响应体。响应头会说明响应数据的类型(如Content - Typetext/html表示返回的是 HTML 网页内容)等信息,而响应体则是服务器返回给我们的实际数据,比如网页的 HTML 代码。
  4. 连接关闭:在数据传输完成后,连接通常会关闭。不过,为了提高效率,在某些情况下,连接也可以保持打开状态,以便客户端能够快速进行后续请求,而无需再次建立连接。

特点

  1. 无状态:HTTP 协议本身是无状态的,这意味着服务器不会记住不同请求之间客户端的状态或信息。每一个请求都是独立的个体,就好像快递员每次送快递都不记得上一次给这个地址送过什么。例如,当我们在一个电商网站浏览商品,从一个页面跳转到另一个页面时,服务器并不会自动记住我们之前浏览过哪些商品,除非我们通过其他方式(如 Cookie)来记录这些信息。
  2. 明文传输:数据在传输过程中以明文形式发送,这就好比我们在一个透明的管道中传递信件,任何人都可以轻易地看到信件的内容。这种特性使得数据容易被窃取、篡改或监听。网络中的不法分子可以通过一些手段截获我们传输的数据,获取我们的账号密码、信用卡信息等敏感内容,还可能恶意篡改数据,导致我们获取到错误的信息。
  3. 应用场景:由于其简单高效,HTTP 协议广泛应用于网页浏览、数据获取等场景。我们日常访问新闻网站、查看博客文章等,都是通过 HTTP 协议来实现的。它就像互联网世界的 “通用语言”,让我们能够便捷地获取各种信息。

HTTP 与 HTTPS 的区别

  1. 安全性:HTTP 以明文传输数据,存在安全风险;而 HTTPS 通过加密技术,有效保护数据安全,安全性高。
  2. 端口:HTTP 默认使用 80 端口,而 HTTPS 默认使用 443 端口。端口就像是不同的通道,不同协议通过不同的端口进行数据传输。
  3. 证书:HTTP 不需要数字证书,而 HTTPS 需要服务器拥有数字证书,用于身份验证和加密通信。
  4. 性能:由于 HTTPS 需要进行加密和解密操作,相比 HTTP 会消耗更多的计算资源和时间,性能相对略低。但随着硬件和网络技术的发展,这种性能差异在大多数情况下并不明显。
  5. 兼容性:HTTP 兼容性较好,在各种设备和网络环境中都能广泛使用;HTTPS 在某些旧设备或环境中可能存在兼容性问题,但总体上兼容性也在不断提高。
  6. 成本:HTTP 成本较低,而 HTTPS 需要购买数字证书,增加了一定的成本。

与 HTTP/HTTPS 相关的其他重要概念

GET 和 POST 请求

  1. GET 请求
    • 用途:主要用于从服务器获取数据,例如我们在浏览器中输入网址访问网页,就是通过 GET 请求获取网页内容;在搜索引擎中输入关键词进行搜索,也是使用 GET 请求将关键词发送给服务器,获取搜索结果。
    • 特点:请求参数会附加在 URL 后面,以问号分隔,多个参数之间用 & 连接,如https://example.com?param1=value1&param2=value2。由于受限于 URL 的长度(不同浏览器对 URL 长度限制不同,一般在 2KB 到 8KB 左右),GET 请求的数据长度有限制。并且,因为参数暴露在 URL 中,安全性相对较低,容易被缓存、记录或窃取。比如,我们在浏览一些网站时,可能会发现浏览器地址栏中显示了我们搜索的关键词等参数,如果这些信息被不法分子获取,可能会导致隐私泄露。
  2. POST 请求
    • 用途:常用于向服务器提交数据,像用户注册、登录、在电商网站中提交订单等操作,都需要使用 POST 请求将用户输入的数据发送给服务器。
    • 特点:请求参数放在请求体中,不会显示在 URL 中,所以对数据长度没有像 GET 那样严格的限制。安全性相对较高,因为参数不直接暴露在 URL 中。但需要注意的是,如果传输过程没有加密(如在 HTTP 协议下),数据仍可能被窃取。

请求头、请求正文、响应头、响应正文

  1. 请求头:客户端向服务器发送请求时,请求头包含了许多附加信息。例如User - Agent用于标识客户端的类型和版本,不同的浏览器(如 Chrome、Firefox)或移动应用在发送请求时,User - Agent的值会有所不同,服务器可以根据这个信息来优化响应内容,以适配不同的客户端。Accept则告知服务器客户端能接受的响应数据类型,比如客户端可以接受text/html格式的网页内容,也可以接受application/json格式的数据。Cookie信息也包含在请求头中,它可以让服务器识别用户身份,记录用户的一些状态信息。
  2. 请求正文:对于 POST 等请求,请求正文用于存放要提交给服务器的数据。比如在用户注册时,用户填写的用户名、密码等表单数据会被放在请求正文中发送给服务器。而 GET 请求一般没有请求正文,即使有也不会被服务器处理。
  3. 响应头:服务器在响应客户端请求时,响应头包含了许多有用的信息。Content - Type说明了响应数据的类型,如text/html表示返回的是 HTML 网页内容,客户端可以根据这个信息正确地解析和显示数据。Set - Cookie用于在客户端设置 Cookie,服务器可以通过这个字段向客户端发送新的 Cookie 信息或更新已有的 Cookie。Content - Length则表示响应数据的长度,客户端可以根据这个信息来判断是否完整接收了数据。
  4. 响应正文:响应正文是服务器返回给客户端的实际数据内容。如果我们访问一个网页,响应正文可能就是网页的 HTML 代码,浏览器会根据这些代码来渲染出我们看到的网页页面。如果是一个数据接口请求,响应正文可能是 JSON 格式的数据,客户端可以根据这些数据进行相应的业务逻辑处理。

Cookie

  1. 定义:Cookie 是由服务器发送到用户浏览器并保存在本地的一小块数据。它就像是服务器给用户发放的一张 “身份卡片”,可以在用户下次访问同一服务器时被发送回服务器,用于识别用户身份、记录用户偏好等。例如,当我们在一个网站上登录后,服务器会通过设置 Cookie 来记住我们的登录状态,这样我们在后续访问该网站的其他页面时,就不需要再次登录。
  2. 获取 Cookie 的方法
    • 客户端获取:在浏览器中,我们可以通过开发者工具的 “Application” 或 “Storage” 选项卡查看当前网站的 Cookie。在 JavaScript 中,可使用document.cookie来获取当前页面相关的 Cookie 字符串,不过这个字符串是经过编码的,需要进一步解析才能获取到具体的 Cookie 信息。
    • 服务器获取:不同的服务器端语言有不同的方法来获取客户端发送过来的 Cookie。例如,在 Python 的 Flask 框架中,可以通过request.cookies来获取;在 Java 的 Servlet 中,可以通过HttpServletRequest对象的getCookies()方法来获取。一般来说,都是从请求对象中获取 Cookie 信息。
  3. Cookie 的优缺点
    • 优点:Cookie 可以用于实现用户登录状态保持,让用户在访问网站的不同页面时无需重复登录,提升用户体验。同时,它还可以记录用户的浏览偏好,比如用户设置的字体大小、页面布局等,下次用户访问时可以直接应用这些设置。此外,将一些用户相关的信息存储在客户端的 Cookie 中,可以减轻服务器的负担。
    • 缺点:Cookie 的存储容量有限,一般单个 Cookie 大小限制在 4KB 左右。并且,由于 Cookie 存储在客户端,存在安全性问题,容易被窃取或篡改。如果没有加密,不法分子获取到 Cookie 后,可能会冒充用户身份进行操作,导致用户信息泄露和安全风险。另外,Cookie 会随着每次请求发送到服务器,可能会增加不必要的网络流量,尤其是当 Cookie 数量较多或内容较大时。

Session 

定义

Session 通常指会话,是在计算机网络通信中,特别是在 Web 应用程序中,用于跟踪用户与服务器之间交互状态的一种机制。它允许服务器在多个请求之间识别同一个用户,并存储与该用户相关的特定数据和状态信息,弥补了 HTTP 协议无状态的不足。

工作原理

  • 创建 Session:当用户首次访问 Web 应用程序时,服务器会为该用户创建一个唯一的 Session 对象,并为其分配一个唯一的标识符(Session ID)。这个 Session ID 通常会通过响应头中的Set-Cookie字段发送给客户端,客户端会将其存储在 Cookie 中,或者也可以通过 URL 重写等方式在后续请求中携带。
  • Session 数据存储:服务器可以在 Session 对象中存储各种与用户相关的数据,例如用户登录信息、购物车内容、浏览历史等。这些数据会在服务器端的内存或其他存储介质中保存,直到 Session 过期或被主动销毁。
  • Session 跟踪:在用户与 Web 应用程序的交互过程中,客户端每次向服务器发送请求时,都会在请求头中包含 Session ID。服务器根据这个 Session ID 来查找对应的 Session 对象,从而获取该用户的相关数据和状态信息,实现对用户会话的跟踪。
  • Session 销毁:Session 有一定的生命周期,当用户长时间不活动(超过设置的超时时间),或者用户主动注销登录,又或者服务器出现故障重启等情况时,服务器会销毁该用户的 Session 对象,释放相关资源。

实现方式

  • 基于 Cookie:这是最常见的方式。服务器通过Set-Cookie响应头将 Session ID 发送给客户端,客户端将其存储在 Cookie 中。后续请求时,浏览器会自动在请求头中带上这个 Cookie,服务器据此识别用户的 Session。
  • URL 重写:将 Session ID 附加在 URL 后面,例如http://example.com/page?sessionId=12345。当用户点击链接或提交表单时,Session ID 会随着请求发送到服务器,服务器通过解析 URL 获取 Session ID 来识别用户。
  • 隐藏表单字段:在 HTML 表单中添加一个隐藏字段,用于存储 Session ID。当表单提交时,Session ID 会作为表单数据一起发送到服务器。

与 Cookie 的区别

  • 存储位置:Cookie 数据存储在客户端浏览器中,而 Session 数据存储在服务器端。
  • 安全性:由于 Session 数据在服务器端,相对来说比 Cookie 更安全,不容易被客户端篡改。而 Cookie 存储在客户端,存在被恶意篡改或窃取的风险。
  • 存储容量:Cookie 通常有大小限制,一般单个 Cookie 不超过 4KB,而 Session 存储在服务器端,理论上可以存储更多的数据,具体限制取决于服务器的配置和存储方式。
  • 作用:Cookie 主要用于存储一些简单的用户偏好、登录状态等信息,并且可以在不同域名之间根据设置进行共享。Session 主要用于在服务器端跟踪用户的会话状态,存储与用户相关的复杂数据和状态信息,一般只在同一个 Web 应用程序内有效。

对称加密和非对称加密

  1. 对称加密原理
    • 定义:对称加密是指加密和解密使用相同的密钥。就好像两个人使用同一把钥匙来锁和开一个箱子。
    • 过程:发送方使用密钥对明文进行加密,将明文转换为密文,然后将密文发送给接收方。接收方收到密文后,使用相同的密钥对密文进行解密,还原出明文。常见的对称加密算法有 DES、AES 等。对称加密的优点是加密和解密速度快,效率高,适用于大量数据的加密。但它的缺点也很明显,就是密钥管理困难。因为通信双方需要安全地共享密钥,如果密钥在传输过程中泄露,那么数据就不安全了。例如,在一个团队中,如果大家都使用对称加密进行通信,那么如何安全地将密钥分发给每一个成员就是一个难题。
  2. 非对称加密原理
    • 定义:非对称加密使用一对密钥,即公钥和私钥。公钥可以公开分发,就像我们可以将自己的邮箱地址公开给任何人一样;而私钥由用户自己妥善保存,就像我们要保管好自己的家门钥匙。
    • 过程:发送方使用接收方的公钥对明文进行加密,生成密文,然后将密文发送给接收方。接收方使用自己的私钥对密文进行解密,得到明文。常见的非对称加密算法有 RSA、ECC 等。非对称加密的优势在于密钥管理相对简单,因为公钥可以公开分发,不需要像对称加密那样严格保密。但它的加密和解密速度相对较慢,一般用于对少量关键数据的加密,如数字证书、密钥交换等场景。例如,在 HTTPS 协议中,服务器会将自己的公钥放在数字证书中发送给客户端,客户端使用公钥对数据进行加密后发送给服务器,服务器再用私钥进行解密。

HTTP 协议不安全原因及 HTTPS 中的安全套接字

  1. HTTP 协议不安全原因:由于 HTTP 协议的数据是以明文传输的,这就好比在一个没有任何防护的道路上运输贵重物品,网络中的攻击者可以轻易地截取、监听传输的内容。他们可以获取用户的账号密码、信用卡信息等敏感数据,给用户带来巨大的损失。同时,攻击者还可以篡改数据内容,比如将一个商品的价格从 100 元篡改为 1 元,导致数据的完整性和真实性无法保证,影响正常的业务流程。
  2. HTTPS 协议中的安全套接字:HTTPS 是在 HTTP 基础上通过 SSL/TLS 协议来实现加密传输和身份认证等功能。SSL/TLS 协议中的安全套接字层就像是一个安全的通道,负责在客户端和服务器之间建立安全的连接,进行数据的加密和解密。它使用了对称加密和非对称加密等技术,在保证数据传输安全的同时,也提高了通信的效率。例如,在 SSL/TLS 握手过程中,会使用非对称加密来交换密钥,然后在后续的数据传输中使用对称加密来提高加密和解密的速度,确保数据能够安全、高效地传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/981272.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录linux安装mysql后链接不上的解决方法

首先确保是否安装成功 systemctl status mysql 如果没有安装的话,执行命令安装 sudo apt install mysql-server 安装完成后,执行第一步检测是否成功。 通常初始是没有密码的,直接登陆 sudo mysql -u root 登录后执行以下命令修改密码&…

精讲坐标轴系统(Axis)

续前文: 保姆级matplotlib教程:详细目录 保姆级seaborn教程:详细目录 seaborn和matplotlib怎么选,还是两个都要学? 详解Python matplotlib深度美化(第一期) 详解Python matplotlib深度美化&…

OSPF路由ISIS路由与路由学习对比(‌OSPF vs ISIS Routing Learning Comparison)

OSPF路由ISIS路由与路由学习对比 1.OSPF 路由学习规律 OSPF使用链路状态数据库(Link State Database)来存储网络拓扑信息。每个OSPF路由器通过交换链路状态更新(Link State Updates)来了解整个网络的拓扑,并根据收到…

【基于Mesh组网的UWB技术讨论】

基于Mesh组网的UWB技术讨论 Mesh 组网无线Mesh与无线中继的区别 基于Mesh拓扑的UWB技术可行性星型拓扑 / Mesh拓扑的UWB技术比较 Mesh 组网 Mesh(网格)是一种无中心、自组织的高度业务协同的网络。通常分为无线Mesh和有线Mesh,但在实际应用场景,有线Mes…

拼电商客户管理系统

内容来自:尚硅谷 难度:easy 目 标 l 模拟实现一个基于文本界面的 《 拼电商客户管理系统 》 l 进一步掌握编程技巧和调试技巧,熟悉面向对象编程 l 主要涉及以下知识点: 类结构的使用:属性、方法及构造器 对象的创建与…

day51 shell

在终端提示输入一个成绩,通过shell判断该成绩的等级 [90,100] : A [80, 90) : B [70, 80) : C [60, 70) : D [0, 60) : 不及格 提示并输入一个文件 判断文件是否存在 如果存在,判断文件是否为普通文件 如果是,则将 “hello world”写…

Docker 模拟 kubernetes 的 pod

1.安装Docker 环境 1.安装 epel 源 yum install -y epel-release 它是为了给我们的bridge utils 提供我们对应的 源支持 2.安装 bridge-utils yum install -y bridge-utils 3.加载 br_netfilter 模块 modprobe br_netfilter echo br_netfilter >> /etc/modules-l…

Hugging Face 推出 FastRTC:实时语音视频应用开发变得得心应手

估值超过 40 亿美元的 AI 初创公司 Hugging Face 推出了 FastRTC,这是一个开源 Python 库,旨在消除开发者在构建实时音频和视频 AI 应用时的主要障碍。 "在 Python 中正确构建实时 WebRTC 和 Websocket 应用一直都很困难,"FastRTC…

Spark核心之02:RDD、算子分类、常用算子

spark内存计算框架 一、目标 深入理解RDD弹性分布式数据集底层原理掌握RDD弹性分布式数据集的常用算子操作 二、要点 ⭐️1. RDD是什么 RDD(Resilient Distributed Dataset)叫做**弹性分布式数据集,是Spark中最基本的数据抽象&#xff0c…

Redis中常见的延迟问题

使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值,只有超过阈值的命令才会被记录,这里的单位是微妙,例如设置慢日志的阈值为5毫秒,同时设置只保留最近1000条慢日志记录: # 命令执行超过…

LangGraph实战:构建智能文本分析流水线

LangGraph实战:构建智能文本分析流水线 1. 智能文本分析 LangGraph是基于图结构的工作流开发框架,通过节点函数和条件流转实现复杂业务逻辑。四大核心能力: 1.1 状态容器 统一管理流程执行上下文,支持JSON序列化存储 1.2 智能路由 基于条件判断实现动态分支跳转 1.3 可…

【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

MyBatis - 单元测试 参数传递 注解 CRUD

目录 1. MyBatis 简介 2. 简单使用 MyBatis 2.1 创建 MyBatis 项目 2.2 连接数据库 2.3 创建 Java 类 2.4 创建 Mapper 接口 2.5 在测试类中执行 3. 单元测试 3.1 Test 3.2 SpringBootTest 3.3 BeforeEach / AfterEach 4. MyBatis 基础操作 4.1 配置 MyBatis 打印日…

课程2. 机器学习方法论

课程2. 机器学习方法论 训练算法并评估其质量将样本分成训练和测试。分层 交叉验证方法sklearn 接口算法模型训练模型的应用质量评估 数据预处理标准缩放Violinplot 数据集使用模型Pipeline 在上一讲中,我们讨论了机器学习专家面临的挑战。无论解决的问题类型和解决…

CentOS 7使用RPM安装MySQL

MySQL是一个开源的关系型数据库管理系统(RDBMS),允许用户高效地存储、管理和检索数据。它被广泛用于各种应用,从小型的web应用到大型企业解决方案。 MySQL提供了丰富的功能,包括支持多个存储引擎、事务能力、数据完整…

涂层,如同一道守护之光,有效遏制了QD(量子点)那如星辰般忽明忽暗的闪烁与如垂暮手电筒般黯淡无光的褪色现象。

涂层,如同一道守护之光,有效遏制了QD(量子点)那如星辰般忽明忽暗的闪烁与如垂暮手电筒般黯淡无光的褪色现象。俄克拉荷马大学(University of Oklahoma)的一项卓越研究,犹如破晓之光,…

C++第六节:stack和queue

本节目标: stack的介绍与使用queue的介绍与使用priority_queue的介绍与使用容器适配器模拟实现与结语 1 stack(堆)的介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,只能从容器的一端进行元素的插…

五分钟快速学习优秀网站的HTML骨架布局设计

一.编写多级过滤脚本&#xff0c;在控制台执行copy方法进行提取&#xff1a; 过滤脚本脚本 // 在浏览器F12的控制台里&#xff0c;直接执行以下脚本 copy(document.documentElement.outerHTML// 一级过滤&#xff1a;移除动态内容.replace(/<script\b[^>]*>[\s\S]*?…

硬件学习笔记--47 LDO相关基础知识介绍

目录 1.LDO主要功能介绍 2.LDO相关参数介绍 3.使用方法 4.优、缺点 1.LDO主要功能介绍 LDO&#xff08;Low Dropout Regulator&#xff09;是一种线性稳压器&#xff0c;用于将输入电压转换为稳定的输出电压。其主要功能包括&#xff1a; 1&#xff09;稳压功能&#xff1…

利用矩阵相乘手动实现卷积操作

卷积&#xff08;Convolution&#xff09; 是信号处理和图像处理中的一种重要操作&#xff0c;广泛应用于深度学习&#xff08;尤其是卷积神经网络&#xff0c;CNN&#xff09;中。它的核心思想是通过一个卷积核&#xff08;Kernel&#xff09; 或 滤波器&#xff08;Filter&am…