Linux系统中的HTTP协议

news2024/9/20 18:29:02

在这里插入图片描述

目录

    • 一.http
      • 1.url和域名
      • 2.URL编码(Encode)和解码(Decode)
      • 4.http协议格式
      • 5.http的方法和状态码
      • 6.cookie和session
    • 二.https
      • 1.加密
      • 2.https的方案与MITM
      • 3.证书

一.http

1.url和域名

url即统一资源定位符,通常会包括协议、域名、路径等部分。URL可以具体到某个网页、图片、文件或其他资源的精确位置。eg:https://www.example.com/blog/article?id=123
域名是一个用于标识和定位互联网中某一台服务器或资源的名字。域名是URL的一部分,用于替代IP地址,使得人们可以更方便地访问网站。eg:www.example.com

2.URL编码(Encode)和解码(Decode)

http协议中url常会使用一些特殊符号用来分隔字符串。但是当我们输入的参数与特殊符号冲突时,就会将某些特殊字符转换为百分号(%)加上两位16进制数的格式。
编码规则

  • 字母(A-Z, a-z)、数字(0-9):这些字符不需要编码,可以直接使用。
  • 保留字符:如:、/、?、&、=等在URL中有特殊意义的字符需要编码。例如: 空格编码为%20或+ ,‘!’编码为%21, ‘/’编码为%2F
  • 非ASCII字符:如中文、日文等其他语言字符,需要进行编码。例如,“中文”编码为%E4%B8%AD%E6%96%87。

有编码规则相应的就有解码规则:将URL中的百分号编码形式转换回原始字符:遇到%加上两位16进制数的序列,将其解码为对应的字符。

4.http协议格式

HTTP(超文本传输协议)是应用层协议,用于在BS,CS之间传输超文本数据。
http的请求格式:求由三部分组成:请求行、请求头部、请求正文。其基本格式如下:

请求行\r\n
请求头部字段1:1\r\n
请求头部字段2:2\r\n
...

<空行>\r\n
请求正文(可为空)\r\n
...
  • 请求行: 包含请求方法、目标资源的URL路径、HTTP版本信息。
    • 示例:GET /index.html HTTP/1.1
    • 常见的请求方法包括:GET、POST、PUT、DELETE等。
  • 请求报头: 请求的属性,使用kv结构,提供请求的附加信息,如客户端类型、数据格式、身份验证等
  • 空行:用来标识后面的正文
  • 请求正文: 包含需要发送给服务器的数据,仅在POST、PUT等方法中存在,在请求报头中中会有一个Content-Length属性来标识正文的长度;

http请求示例

POST /api/v1/login HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: application/json, text/plain
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Content-Length: 85
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Origin: https://www.example.com
Referer: https://www.example.com/login
Connection: keep-alive
Cookie: sessionId=abcd1234; lang=en-US
Upgrade-Insecure-Requests: 1

{
  "username": "user123",
  "password": "password456"
}

http相应格式由三部分组成:状态行、响应头部、响应正文。其基本格式如下:

状态行
响应头部字段1:1
响应头部字段2:2
...

<空行>

响应正文(可选)

  • 状态行: 包含HTTP版本信息、状态码及其描述。

    • 格式:
    • 示例:HTTP/1.1 200 OK
    • 状态码分为五类:1xx(信息类),2xx(成功):表示请求已成功被服务器接收、理解、处理。3xx(重定向):表示要完成请求需要进一步操作。4xx(客户端错误):表示请求有语法错误或无法被执行。5xx(服务器错误):表示服务器在处理请求时发生了错误。
  • 响应头部: 提供关于响应的附加信息,如服务器类型、响应数据格式、缓存控制等。

  • 响应正文: 包含服务器返回的数据,如HTML页面、JSON数据等。

http响应示例

HTTP/1.1 200 OK
Date: Sun, 25 Aug 2024 12:00:00 GMT
Server: Apache/2.4.29 (Ubuntu)
Last-Modified: Sun, 25 Aug 2024 11:45:00 GMT
Content-Length: 137
Content-Type: text/html; charset=UTF-8

<html>
<head><title>Hello World</title></head>
<body><h1>Hello, World!</h1></body>
</html>

5.http的方法和状态码

方法描述
GET请求指定的资源。通常用于从服务器检索数据。请求应是安全的且无副作用。
POST提交数据到服务器,例如提交表单或上传文件。数据会被包含在请求正文中。
PUT更新指定的资源。客户端提供的资源替换服务器上的现有资源。
DELETE删除指定的资源。客户端请求删除资源,通常与URL指定的资源相关。
HEAD请求资源的元数据(头部信息),不包含实体主体。用于获取资源的元信息。
OPTIONS请求允许的HTTP方法和其他选项。用于探测服务器支持的功能或设置。
PATCH部分更新资源。客户端提供的部分数据用于更新服务器上的资源。
TRACE回显服务器收到的请求,用于诊断和调试。
CONNECT通过HTTP隧道建立一个到目标资源的网络连接。常用于代理服务器的设置。

一般我们在网络的行为分为上传数据和接受数据两种。当我们想提交参数给服务器时,使用GET方法提交的参数是通过url提交的,参数受限,POST方法也支持提交参数,通过请求的正文部分提交参数。

http状态码

状态码描述说明
200OK请求成功,服务器返回请求的资源。
201Created请求成功并且服务器创建了新的资源。
202Accepted请求已接受,但未处理完成。
204No Content请求成功,但没有返回内容。
301Moved Permanently请求的资源已被永久移动到新的URL。
302Found请求的资源临时移动到新的URL。
303See Other客户端应使用GET方法访问新的URL。
304Not Modified请求的资源未被修改,客户端可以使用缓存的版本。
307Temporary Redirect请求的资源临时移动到新的URL,客户端应使用相同的方法发起请求。
308Permanent Redirect请求的资源永久移动到新的URL,客户端应使用新的URL进行请求,保持请求方法。
400Bad Request请求无效,服务器无法理解请求。
401Unauthorized请求未授权,客户端需要提供身份验证。
403Forbidden服务器理解请求,但拒绝执行。
404Not Found请求的资源未找到。
405Method Not Allowed请求方法不被允许。
408Request Timeout请求超时,客户端未在服务器指定的时间内发送请求。
409Conflict请求冲突,服务器无法处理请求。
410Gone请求的资源已被永久删除。
411Length Required服务器要求请求包含Content-Length头部。
412Precondition Failed请求的前提条件失败。
413Payload Too Large请求的负载过大,服务器无法处理。
414URI Too Long请求的URI过长。
415Unsupported Media Type请求的媒体类型不被支持。
416Range Not Satisfiable请求的范围无法满足。
417Expectation Failed服务器无法满足Expect请求头字段。
500Internal Server Error服务器内部错误,无法完成请求。
501Not Implemented服务器不支持请求的方法。
502Bad Gateway网关或代理服务器接收到无效的响应。
503Service Unavailable服务器当前无法处理请求,可能是由于过载或维护。
504Gateway Timeout网关或代理服务器在等待上游服务器响应时超时。
505HTTP Version Not Supported服务器不支持请求中所用的HTTP协议版本。

在HTTP协议中,状态码用于指示服务器对客户端请求的处理结果。其中,状态码3xx系列专门用于重定向,分有临时重定向和永久重定向,当浏览器访问服务器时,服务器返回307 Temporary Redirect(临时重定向)或者308 Permanent Redirect(永久重定向)状态码,Location头部字段常用于HTTP重定向响应,告知客户端请求的资源已被移动到新的URL。客户端会自动跟随这个URL进行新的请求。
示例

HTTP/1.1 307 Temporary Redirect
Location: http://www.example.com/temporarypage

接着浏览器将去访问location字段给的新地址。

http短连接长连接

短连接
短连接指的是每个HTTP请求/响应对都使用一个独立的TCP连接。请求完成后,连接立即关闭,客户端和服务器在后续请求时需要重新建立连接。缺点就是会降低性能效率低。HTTP/1.0使用短连接。
长连接
长连接指的是在一个TCP连接上可以发送多个HTTP请求和响应对。连接在一个请求/响应周期后不会立即关闭,而是保持打开状态,允许后续的请求和响应在同一连接上进行。HTTP/1.1及以后的版本使用长连接。

6.cookie和session

Cookie是由服务器发送并保存在客户端浏览器上的小块数据。实现http对登录用户的的会话保持功能。
示例
如果我们之前已经登录过某网站,下次访问时无需再次输入账号密码,直接自动登录了:在这里插入图片描述
在这里插入图片描述
其实都是在浏览器中的cookie中存储着多中数据,实现了此功能。
当我们删除cookie文件后:
在这里插入图片描述
在这里插入图片描述
再次进入网站就需要重新登录了。
但是cookie是有一定的安全问题的。在这基础上又衍生出了session。
Session是服务器端存储用户会话数据的机制。每个用户的会话数据存储在服务器上,通过一个唯一的Session ID在客户端和服务器之间进行关联。Session ID由服务器统一管理分配。

  • 创建Session:用户首次访问网站时,服务器创建一个新的会话并生成一个唯一的Session ID。Session ID通常会被发送到客户端,保存在Cookie中
    示例:
HTTP/1.1 200 OK
Set-Cookie: sessionId=abc123; Path=/; HttpOnly; Secure
  • 在用户的后续请求中,客户端发送包含Session ID的Cookie,服务器ID检索用户会话数据。
GET /profile HTTP/1.1
Host: www.example.com
Cookie: sessionId=abc123

二.https

1.加密

HTTP协议的设计初衷是为了快速地传输网页内容。然而,由于HTTP的数据传输是明文的,导致在数据传输中隐含着数据被窃取篡改的风险。为了增强数据传输的安全性,SSL协议应运而生,后来发展为TLS(传输层安全协议)。
HTTPS是HTTP与SSL/TLS的结合体。它将SSL/TLS协议应用于HTTP协议之上。
所谓加密就是让传输的明文数据通过一系列手段加工成密文,解密就是将密文再进行一系列手段加工成明文,在加密解密过程中辅助这个过程完成的数据叫做密钥

对称加密
在这里插入图片描述

对称加密即是CS双方都有密钥Y即可进行对明文的加密和密文的解密。
优点

  1. 速度快:对称加密使用的加密算法(如AES、DES)计算速度较快,适合处理大数据量的加密任务。
  2. 计算资源消耗少:对称加密算法的计算复杂度通常较低,因此对计算资源的消耗较少。
  3. 实现简单:对称加密算法的实现通常较为简单,容易在各种设备和平台上应用。

缺点

  1. 密钥管理难:所有参与通信的双方必须共享同一个密钥,密钥的安全管理和分发是一个挑战。一旦密钥泄露,所有使用该密钥加密的数据都会受到威胁。
  2. 不支持身份验证:对称加密本身并不提供身份验证功能,因此难以确认数据的发送者身份。
  3. 密钥交换问题:在建立安全通信之前,双方需要安全地交换密钥,这本身是一个挑战,特别是在未建立安全通信之前。

非对称加密
在这里插入图片描述
这对密钥的特点在于,只有拥有私钥的服务器才能解密用公钥加密的数据,从而保证了信息传输的安全性。

优点

  1. 密钥管理简单:非对称加密使用一对密钥(公钥和私钥)。公钥可以公开,而私钥必须保密。密钥的分发和管理变得更加简单,因为私钥不需要传输。
  2. 提供身份验证:非对称加密可以用来验证身份。例如,通过数字签名,接收者可以确认数据确实来自声称的发送者。
  3. 密钥交换安全:在通信过程中,非对称加密可以用来安全地交换对称加密密钥,从而结合了对称加密的高效性和非对称加密的安全性。

缺点

  1. 速度较慢:非对称加密算法(如RSA、ECC)通常比对称加密算法速度慢,不适合加密大量数据。
  2. 计算资源消耗高:非对称加密需要复杂的数学运算,计算资源消耗较大,对性能要求较高。
  3. 实现复杂:非对称加密的算法实现较为复杂,需要处理更多的数学和安全问题,可能导致实施上的挑战。

2.https的方案与MITM

一种https方案:对称加密与非对称加密结合:

+---------------------------+                +---------------------------+
|         客户端            |                |         服务器            |
|                           |                |                           |
| 1. 发送HTTPS请求          |                |                           |
|-------------------------->|                |                           |
|                           |                |                           |
| 2. 服务器发送公钥S         |                |          公钥S 私钥S*      |
|<--------------------------|                |                           |
|                           |                |                           |
| 3. 生成会话密钥C并用     |                |                           |
|         服务器的公钥加密   |                |                           |
|-------------------------->|                |                           |
|                           |                |                           |
| 4. 服务器用私钥解密     |                |                           |
|             会话密钥       |                |                           |
|<--------------------------|                |                           |
|                           |                |                           |
| 5. 双方使用会话密钥进行   |                |                           |
|   对称加密的数据传输     |                |                           |
|<-------------------------->|                |                           |
|                           |                |                           |
| 6. 服务器解密数据         |                |                           |
|   用会话密钥             |                |                           |
|-------------------------->|                |                           |
+---------------------------+                +---------------------------+

上面的方案还是有安全问题的。
MITM:中间人攻击(简称MITM)是一种网络攻击方式,攻击者通过插入到客户端与服务器之间的通信链路中,监听、截获甚至篡改数据。
在上面的对称加密加非对称加密方案中,如果出现的中间人攻击会是什么样的呢:
当客户端向服务器发送http请求获得公钥S时,其实是先发给了中间人,中间人再发送给服务器,这样服务器端发送的公钥S就被中间人截取到了,这时就可以给客户端发一个属于中间人的公钥M,C端误以为公钥M是S端发送过来的。使用M加密了自己的秘钥X,在发送给S端,中间人用自己的私钥M*解密再用公钥S加密发送给S端,这样就能完成对数据的篡改盗取,引发一系列的安全问题。

3.证书

为了解决以上的安全问题,引入了新的概念----证书。服务器网站管理员向证书颁发机构(CA)提交证书签名请求,其中包含公钥和服务器信息。身份验证:CA对申请者的身份进行验证,确保其拥有对所请求域名的合法控制权。证书签发:验证通过后,CA使用其私钥对申请者的公钥及其他信息签名,生成数字证书,并将证书发给申请者。
证书组成部分

  • 公钥:证书中包含服务器的公钥,用于加密数据或验证数字签名。
  • 所有者信息:包括服务器的域名、组织名称等信息,用于识别服务器的身份。
  • 证书颁发机构(CA)的信息:指明颁发该证书的CA,以及CA的数字签名,保证证书的可信度。
  • 有效期:证书的有效时间范围。过期的证书需要更新,否则浏览器会提示用户连接不安全。
  • 数字签名:由CA使用其私钥对证书内容进行签名,确保证书未被篡改。

数据摘要:数据摘要是一种通过哈希函数对任意长度的数据进行处理后生成的固定长度的字符串。
主要有以下特点:

  • 固定长度输出:无论输入数据长度多长,数据摘要的长度始终固定。例如,SHA-256的摘要长度为256位(32字节)。
  • 唯一性:不同的输入数据(即使仅有一位不同)应产生不同的摘要值。这一特性确保了数据的唯一表示。
  • 不可逆性:数据摘要的生成过程是不可逆的,即从摘要值不能还原出原始数据。这确保了摘要的安全性。
  • 高效性:哈希算法通常设计得非常高效,能快速处理大量数据并生成摘要。

几种常见的哈希算法:

  • MD5(Message Digest Algorithm 5):生成128位的哈希值,曾广泛用于校验和加密,但由于其易受碰撞攻击,已不再推荐用于安全场景。
  • SHA-1(Secure Hash Algorithm 1):生成160位的哈希值,曾被广泛应用,但同样由于安全性问题,已被逐渐淘汰。
  • SHA-256:SHA-2家族中的一种,生成256位的哈希值,是目前被广泛使用的安全哈希算法。

数字签名
字签名在信息安全中主要用来身份验证:数字签名可以确认信息的发送者身份,确保数据来自预期的合法发送者。因为只有发送者拥有对应的私钥,任何其他人都无法伪造签名。确保客户端啊收到服务器的公钥是可信的。
工作原理

  1. 生成消息摘要:首先,对原始数据使用哈希函数消息摘要(Message Digest)。这个摘要唯一地代表了原始数据的内容。
  2. 加密摘要:发送者使用CA的私钥对消息摘要进行加密,生成数字签名。由于私钥是保密的,只有持有该私钥的实体才能生成有效的签名
  3. 附加数字签名:发送者将数字签名附加到原始数据上,一并发送给接收者。原始数据保持未加密状态,以便接收者能够查看。
  4. 验证签名:接收者在收到数据后,使用发送者的公钥解密数字签名,得到解密后的哈希值。接收者再对收到的原始数据重新计算一个哈希值,并将其与解密后的哈希值进行比较。
    如果两个哈希值一致,说明数据未被篡改,且签名确实由声称的发送者生成;否则,签名无效或数据可能被篡改。

所以https真实的加密方案是对称非对称加密和证书相结合。
HTTPS的加密过程可以分为以下几个步骤:

  1. 客户端发起请求:客户端向服务器发起HTTPS请求,服务器响应并提供其数字证书。
  2. 证书交换与身份验证:服务器发送包含公钥的数字证书给客户端。客户端使用预安装的受信任CA证书对服务器的证书进行验证(对证书明文数据进行数据摘要,对签名用CA公钥解密,比对两个数据摘要是否相同,即可证明证书是否可信。),确认服务器身份。
  3. 生成会话密钥:客户端生成一个对称加密密钥(会话密钥),并使用服务器的公钥对该密钥进行加密。加密后的会话密钥发送给服务器。
  4. 密钥解密与建立安全通道:服务器使用私钥解密收到的会话密钥。客户端和服务器双方均得到了相同的对称密钥,用于加密和解密随后的数据。
  5. 加密数据传输:使用对称密钥加密的数据被传输至对方,确保通信内容的机密性和完整性。

完整流程示意图:
在这里插入图片描述

在浏览器中也能查看已有的证书信息
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JPCS独立出版 | 见刊检索稳定】第二届应用统计、建模与先进算法国际学术会议(ASMA2024,9月27日-29)

由哈尔滨理工大学主办的第二届应用统计、建模与先进算法国际学术会议&#xff08;ASMA2024&#xff09;将于2024年9月27日-29日于中国哈尔滨召开。 会议将围绕应用统计、建模及先进算法等在数学领域中的最新研究成果&#xff0c;为来自国内外高等院校、科学研究所、企事业单位的…

C语言 | Leetcode C语言题解之第375题猜数字大小II

题目&#xff1a; 题解&#xff1a; #include <stdlib.h> #include <stdio.h> #include <stdbool.h> #include <string.h> #include <math.h> #include <limits.h>#define MMAX(a, b) ((a) > (b)? (a) : (b)) #define MMIN(a,…

OpenCV几何图像变换(11)极坐标转换函数warpPolar()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数将图像重映射到极坐标或半对数极坐标空间。 极坐标重映射参考 用以下转换来转换源图像&#xff1a; d s t ( ρ , ϕ ) s r c ( x , y ) ds…

别着急面试㊙先背完答案✅offer接到手软

别着急面试㊙先背完答案✅offer接到手软 21/100 保存草稿 发布文章 2401_85378759 未选择任何文件 new 面试大模型岗的小伙伴们最近面试题背的怎么样啦 - 大模型&#xff08;LLM&#xff09;面试题是面试中比较常问到的&#xff0c;今天给大家整理了120个常见的大模型面试题✅…

【惠农网-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

图论:图的遍历(DFS vs. BFS)

文章目录 引言基本概念无向图示例绘制图形 深度优先搜索&#xff08;DFS&#xff09;基本概念可视化 DFS 过程深度优先搜索&#xff08;DFS&#xff09;DFS 应用场景 广度优先搜索&#xff08;BFS&#xff09;基本概念可视化 BFS 过程广度优先搜索&#xff08;BFS&#xff09;应…

有效三角形个数问题

目录 一题目简述&#xff1a; 二思路总结&#xff1a; 21不被认可的暴力破解思路&#xff1a; 22优化后的思路&#xff1a; 221优化后的判断三角形方法&#xff1a; 222 定一动二指针朝内筛选遍历&#xff1a; 三解答代码&#xff1a; 一题目简述&#xff1a; leetcode链…

500以内有好用的开放式耳机推荐吗?五款500以内开放式耳机推荐

作为一个几乎醒了就离不开耳机的人&#xff0c;我经常在思考什么样子的耳机才能做到佩戴无感、不塞耳、没有胀痛&#xff0c;还可以随时为我们提供高品质音乐呢&#xff1f;划拉来&#xff0c;划拉去还是觉得开放式耳机比较适合&#xff0c;它不入耳的设计能够让空气在耳朵流通…

基于大模型 + 知识库的 Code Review 实践

背景 &#x1f4a1; 想法源于在一次 Code Review 时&#xff0c;向 Claude 询问哪种写法代码更优雅得来。当时就想能不能让 AI 帮我们辅助做 Code Review&#xff1f; 痛点 信息安全合规问题&#xff1a;公司内代码直接调 ChatGPT / Claude 会有安全/合规问题&#xff0c;为了…

HR招聘,如何解决面试流程繁琐的问题

要解决面试流程繁琐的问题&#xff0c;就必须要精简和优化招聘流程。比如精简面试环节&#xff0c;制定标准化流程&#xff0c;完善信息管理&#xff0c;对面试环节进行细致梳理之后&#xff0c;尽快识别并去除那些不必要的步骤&#xff0c;这样就能够减少求职者的等待时间&…

零成本搭建个人 APP 和小程序后台

前言 前面也说了&#xff0c;通过 GitHub PagesGitHub Actions 只是解决了动态数据展示&#xff0c;但是要零成本得完成将用户信息存储下来&#xff0c;并实现数据交互呢&#xff1f; 我开始是想用云文档&#xff0c;种种原因&#xff0c;我还是希望有个自己能二次修改的后台…

动态网格交易、科创板做市、股票 CTA……DolphinDB 中高频策略回测实例之股票篇

股票中高频交易是量化交易的重要分支&#xff0c;其核心在于在极短时间内处理大量市场数据&#xff0c;执行多笔交易&#xff0c;从而捕捉细微的价格波动并获取利润。中高频交易策略的成功依赖于精准的算法设计、低延迟的交易系统以及交易程序强大的数据分析能力。作为实盘操作…

【系统架构设计】设计模式

【系统架构设计】设计模式 设计模式概述GoF设计模式Factory MethodAbstract Factory &#xff08;*&#xff09;BuilderPrototype(原型)Singleton&#xff08;*&#xff09;AdapterBridgeComposite(组合)Decorator(装饰)&#xff08;*&#xff09;Facade(外观)&#xff08;*&am…

恢复指定人微信聊天记录,看这里,4种方法帮您找回记录

微信在今天成为了我们日常生活中不可或缺的一部分&#xff0c;它承载着我们的社交、工作乃至生活的点点滴滴。然而&#xff0c;有时出于各种原因&#xff0c;我们可能会选择注销微信账号&#xff0c;但随后又可能因种种原因希望恢复其微信进行使用。那么&#xff0c;微信注销了…

CSS溢出——WEB开发系列20

在网页设计中&#xff0c;“溢出”是一个常见且重要的概念。它涉及到如何处理那些超出预定范围的内容&#xff0c;以确保网页的布局和视觉效果达到预期。 一、什么是溢出&#xff1f; 在 CSS 中&#xff0c;“溢出”&#xff08;overflow&#xff09;指的是内容超出其包含块的…

构建高效NLP管道:PydanticOutputParser与Langchain的结合

PydanticOutputParser 是一个用于解析语言模型输出的实用工具&#xff0c;它允许用户指定一个 Pydantic 模型&#xff0c;并查询语言模型以生成符合该模型的 JSON 输出。这个工具特别有用&#xff0c;因为它可以帮助开发者确保从语言模型获得的结构化数据符合预期的格式&#x…

全面解析:四大LLM模型——预训练与后训练的新范式

导读 最初&#xff0c;大语言模型LLM的训练过程只关注于预训练&#xff0c;但如今已经扩展到包含预训练和后训练两个阶段。后训练通常包括监督指令微调和对齐&#xff0c;这一方法在ChatGPT发布后广泛流行&#xff01; 翻译自:https://magazine.sebastianraschka.com/p/new-l…

NAT网关产品手册

产品用途 SG-NAT-410 网关支持 IP 地址跨网段和通讯端口的转换&#xff0c;为不方便修改参数的以太网通讯设备的信息化联网提供便捷的解决方案。网关有 1 个两口以太网交换机接口(LAN 口 ) 和 1 个单口以太网通讯接口 (WAN 口 ) 。不对原系统做任何硬件和软件修改&…

WAF一般是怎么防御SQL注入的

目录 参数化查询在防止SQL注入中起到什么作用&#xff1f; 为什么要限制数据库用户权限来预防SQL注入&#xff1f; WAF是如何检测SQL注入特征的&#xff1f; WAF防范SQL注入的主要策略包括&#xff1a; 参数化查询和预编译语句&#xff1a;使用参数化查询或预编译语句可以确…

虚拟试穿技术分享

虚拟试穿技术&#xff0c;通过计算机视觉和人工智能&#xff0c;允许用户在数字界面上试穿服装&#xff0c;无需实际穿戴。这项技术广泛应用于电子商务和时尚工业&#xff0c;使得消费者可以在购买前预览衣物在自己身上的样子。 基于扩散的方法&#xff1a;这种方法使用基于图像…