BurpSuite抓包与HTTP基础
文章目录
- 前言
- 一、BurpSuite
- 1.BurpSuite简介
- 2.BurpSuite安装教程
- (1)BurpSuite安装与激活
- (2)安装 https 证书
- 3.BurpSuite使用
- 4.BurpSuite资料
- 二、图解HTTP
- 1.HTTP基础知识
- 2.HTTP客户端请求消息
- 3.HTTP服务端响应消息
- 4.HTTP部分请求方法理解
- 5.HTTPS与HTTP
- 总结
前言
在网络安全和渗透测试领域,BurpSuite 是一个不可或缺的工具。它凭借强大的功能集和灵活的模块化设计,成为安全研究人员、开发者以及测试人员分析 Web 应用漏洞的“瑞士军刀”。然而,对于初学者来说,BurpSuite 的配置和使用可能略显复杂,尤其是代理设置、证书安装以及 HTTP/HTTPS 流量分析等环节。
与此同时,理解 HTTP 协议的基础知识是掌握 BurpSuite 的核心前提。HTTP 作为 Web 通信的基石,其请求与响应的结构、状态码的含义、以及 HTTPS 加密机制的原理,都是渗透测试中需要深入剖析的关键点。
本篇博客将从 BurpSuite 的安装与破解入手,逐步演示如何配置代理、安装证书、抓取流量,并结合 HTTP 协议的核心概念(如 URL/URI 结构、请求头与响应头、状态码分类、HTTPS 加密原理等),帮助读者构建完整的 Web 安全分析知识体系。无论你是刚入门的安全爱好者,还是希望巩固基础的开发者,都希望能通过本文的实践与理论结合,快速上手 BurpSuite 并更深入理解 HTTP 的底层逻辑。
一、BurpSuite
1.BurpSuite简介
BurpSuite 是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能
更好的完成对Web应用的渗透测试和攻击。
BurpSuite 是由 Java 语言编写而成,而依托 Java 自身的跨平台性,使得软件在不同系统平台使用
更加方便。
2.BurpSuite安装教程
(1)BurpSuite安装与激活
BurpSuite Professional 破解版压缩包: https://easylink.cc/9licrh(点击即下载)
双击keygen.bat,启动BurpSuite破解程序

(双击 keygan.bat 后会自动启动cmd和激活页面)点击Run后就会启动BurpSuite

界面功能解释
| 功能 | 解释 |
|---|---|
| Auto Run | 勾选会自动执行 Loader Command |
| Ignore Update | 勾选忽略更新,不勾选可以点击上方蓝字下载 BurpSuite 最新稳定版 |
| Early Adopter | 勾选可以点击上方蓝字下载 BurpSuite 前期测试版 |
| Loader Command | 加载器启动 BurpSuite 命令,点击 Run 可执行 |
| License Text | License 文本,可自己修改,比如 licensed to mingxyz |
| License | 生成的 License |
| Activation Request | 激活请求 |
| Activation Response | 激活响应 |
勾选“Help improve Burp by submitting feedback about its performance”
点击 “I Accept” 同意协议

按下图示操作后点击Next

注意:点击Manual activation

按下图示操作后在“Activation Response”框中会自动生成字符串

将“Activation Response”中生成的字符串按下图示复制到相应位置后点击Next

Finish之后会自动打开BurpSuite

Next

Start Burp

关闭BurpSuite后可在压缩包解压后的解压文件中再次打开BurpSuite(可自行设置快捷方式于桌面)
BurpSuite.vbs为英文版
BurpSuite-cn.vbs为中文版
根据个人需要自行选择(建议初学者使用英文版进行学习)

(2)安装 https 证书
BurpSutie默认只能抓取http请求,由于HTTPS流量是加密的,为了能够查看和修改这些流量,需要在BurpSuite中安装CA证书,并在浏览器中信任这个证书。这样,BurpSuite可以作为中间人(MITM)来解密和重新加密流量。
打开BurpSuite后,依次点击Proxy > Proxy setting > Tools下的Proxy
点击Import/export CA certificate

勾选 Certificate in DER format 后点击Next

文件名的后缀一定要是.der,文件前缀随意(建议整个文件名为“bp.der”)
文件类型:所有文件

Next

双击 安装证书.der ,点击安装证书

本地计算机

勾选 将所有的证书都放入下列存储

受信任的根证书颁发机构


注意:
1.操作完成上面的破解步骤后,证书已经成功写入系统,后续不必再重复破解
2.如果更新了BurpSuite版本,可能需要重新破解激活才可正常使用
想要清除系统BurpSuite激活信息,双击执行reset_license.bat脚本
更新:
1.打开
keygen.bat点击蓝色小字下载最新版本,或者自己去官网下载BurpSuite Pro: https://portswigger.net/burp/releases
2.下载后复制到BurpSuite目录下并重命名为burpsuite_pro.jar
然后按照上面的步骤依次破解、启动即可
注意:安装完证书后,一定记得重启浏览器,之后才会生效
3.BurpSuite使用
●代理监听
依次点击Proxy > Proxy settings > Tools > Proxy在 Proxy listeners 里可以看到有个127.0.0.1:8080,
启动 BurpSuite 会默认监听这个地址,所有经过该地址的请求都会被记录下来。

●浏览器插件下载
为了使用 BurpSuite 捕获浏览器所有的 HTTP 及 HTTPS 请求,我们需要通过设置浏览器的代理,指
向 BurpSuite 的代理服务监听地址127.0.0.1:8080。
SwitchyOmega 是一个浏览器代理插件,它允许用户在浏览器中快速设置和切换代理。它允许用户自
定义代理设置,以控制浏览器的网络流量。
ㅇEdge浏览器代理插件:ProxySwitchyOmega3(ZeroOmega)-Microsoft EdgeAddons
ㅇChrome浏览器代理插件(需要科学上网):ZeroOmega
ZeroOmega设置
1.以Edge浏览器为例,首先按照如下让其显示

点击“选项“”

点击新建情景模式,输入情景模式名称
情景模式名称可为:burp
选择代理服务器
并选择情景模式的类型为:代理服务器,点击创建

配置代理服务器
代理协议:HTTP
代理服务器:127.0.0.1
代理端口:8080
清空不可代理地址列表,并添加如下内容后点击“应用选项”
<-loopback>

proxy模块使用

●1.拦截选项卡:显示拦截的请求包
●2.HTTP history:HTTP历史记录,所有经过 127.0.0.1:8080 这个代理服务器的请求都会在这里显示
●3.WebSockets history:Websockets历史记录
●4.Match and replace:替换规则
●5.Proxy settings:代理设置
●6.lntercept off/on:拦截开关,off为关,on为开,为on时浏览器发出的请求会被拦截下来,off则相
反
●7.Forward:转发请求,把拦截到的数据包转发到服务器或客户端
●8.Drop:丢弃请求,会把拦截到数据包丢弃,丢弃后数据包不会到达服务器或客户端
●9.Open browser:打开bp自带的浏览器,该浏览器无需安装证书代理插件,在此浏览器中的http或
https请求都会被bp抓取
4.BurpSuite资料
● Burp Suite文档: https://portswigger.net/burp/documentation/desktop
● 拦截HTTP流量:https://portswigger.net/burp/documentation/desktop/getting-started/intercepting-http-traffic
二、图解HTTP
1.HTTP基础知识
HTTP 是超文本传输协议,也就是Hyper Text Transfer Protocol。
是一种用于分布式、协作式和超媒体信息系统的应用层协议。是一个基于请求与响应,无状态的,应用
层的协议,常基于 TCP/IP 协议传输数据,互联网上应用最为广泛的一种网络协议,所有的互联网文
件都必须遵守这个标准。
HTTP的名字「超文本协议传输」,它可以拆成三个部分:
● 超文本
● 传输
● 协议

- 协议
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
- 传输
就是把一堆东西从A点搬到B点,或者从B点搬到A点。
HTTP协议是一个双向协议。
HTTP是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
我们在上网冲浪时,浏览器是请求方A,百度网站就是应答方B。双方约定用HTTP协议来通信,于
是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以
看到图片、视频了。

3. 超文本
HTTP 传输的内容是「超文本」。
「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算做「文本」。
「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体最关键有超链接,能从一个超文本跳转到另外一个超文本。
HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,在经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。
总结:
HTTP是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据
的「约定和规范」。
统一资源定位符(URL)
URL(统一资源定位符):我们常说的网址,包含了用于查找资源的足够的信息,而一个完整的URL包
含下面几部分:
URL 遵守一种标准的语法,它由协议、主机名、域名、端口、路径、以及文件名这六个部分构成,其
中端口可以省略。
具体语法规则如下:
protocol://[[user[:password]@]host[:port]][/path][?query][#fragment]
[协议名]://[用户名]:[密码]@[主机名]:[端口]/[路径]?[查询参数]#[片段ID]
protocol:指定使用的传输协议,最常用的是通过 HTTP/HTTPS 协议来定位网络资源。mailto: 用户打开邮箱的客户端ftp: 用来做文件的转换file: 用来获取文件
user:password 需要认证后才能访问时的账号密码。
host:表示合法的因特网主机域名或者IP地址。
port:用于表示在传输层上交换信息的进程端口号,标明了获取服务器资源的入口,http协议默认端口号为80,不同的协议默认端口号不同。
path:指定请求服务器上资源的路径。
?query:可选,用于给动态网页传递参数,可以有多个参数,用"&"符号隔开,每个参数的键值之间用"="隔开。
#fragment:信息片断字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。
例如:
https://en.wikipedia.org:443/wiki/Hypertext_Transfer_Protocol?id=123#HTTP/1.1_response_messages

统一资源标志符(URI)
URl:Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符
串。
HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请
求/响应协议。
HTTP使用统一资源标识符(URI)来传输数据和建立连接。
URI和URL的区别:URL是URI的一个子集

URN:Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资
源。
URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而
统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物
的方法。
2.HTTP客户端请求消息
HTTP请求报文:Web客户端向服务器发送的请求
HTTP请求由四个部分组成:
●请求行
●请求头部字段
●空行
●请求正文


请求行
Method Request-URI HTTP-Version CRLFMethod:表示请求方法;
Request-URI:是一个统一资源标识符;
HTTP-Version:表示请求的HTTP协议版本;
CRLF:表示回车和换行
除了作为结尾的CRLF外,不允许出现单独的CR或LF字符
●请求方法
| 请求方法 | 描述 |
|---|---|
| GET | 请求获取Request-URI所标识的资源 |
| POST | 在Request-URI所标识的资源后附加新的数据 |
| HEAD | 请求获取由Request-URI所标识的资源的响应消息报头 |
| PUT | 请求服务器存储一个资源,并用Request-URI作为其标识 |
| DELETE | 请求服务器删除Request-URI所标识的资源 |
| TRACE | 请求服务器回送收到的请求信息,主要用于测试或诊断 |
| OPTIONS | 请求查询服务器的性能,或者查询与资源相关的选项和需求 |
| CONNECT | 保留将来使用,HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
| PATCH | 用于将局部修改应用到资源。 |
●HTTP1.0定义了三种请求方法:GET、POST、HEAD方法。
●HTTP1.1新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT方法。
请求头部字段
http_header:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
content_type:http://tools.jb51.net/table/http_content_type
请求头部字段:(Request Header Fields)
Header:Header_Value CRLF
允许客户端传递关于自身的信息和希望的响应形式。
在HTTP/1.1协议中,所有的请求头,除Host外,都是可选的。
| Header头部 | 解释 |
|---|---|
| Host | 指定请求的服务器的域名和端口号 |
| Content-Length | 请求的内容长度 |
| Accept | 指定客户端能够接收的内容类型 |
| X-Requested-With | Ajax异步请求 |
| User-Agent | 包含发出请求的用户信息 |
| Content-Type | 请求的与实体对应的MIME信息 |
| Origin | 指明当前请求来自于哪个站点 |
| Referer | 先前网页的地址,当前请求网页紧随其后 |
| Accept-Encoding | 指定浏览器可支持的web服务器返回内容压缩编码类型。 |
| Accept-Language | 浏览器可接受的语言 |
| Cookie | HTTP请求发送时,会把保存在该请求域下的所有cookie值一起发送给web服务器。 |
| Connection | 表示是否需要持久连接 |
●Host
客户端发送请求时,用来指定服务器的域名。
Host: www.A.com

有了Host字段,就可以将请求发往「同一台」服务器上的不同网站。
●Content-Length
Content-Length字段指明发送给接收方的消息主体的大小。
Content-Length: 1000
如上面则是告诉接收方(不管是客户端还是服务端),本次发送的数据长度是1000个字节。
●Content-Type
Content-Type字段用于指定资源的媒体类型(也称为MIME类型)。这个字段告诉接收方–无论是
浏览器、服务器还是任何处理HTTP请求和响应的中间件一-正在传输的数据的类型。

Content-Type: text/html; charset=utf-8
●User-Agent
User-Agent用于在HTTP请求中向服务器提供发起请求的客户端(通常是浏览器)的信息。这个字段
可以让服务器知道请求是由哪种类型的浏览器、浏览器版本、操作系统以及其版本等信息发起的。
User-Agent字段的内容通常由客户端的浏览器自动生成,但也可以被开发者或用户自定义修改。
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
●Cookie
它包含了客户端存储的Cookie值,这些值会在客户端向服务器发起请求时自动附加到请求中。这个
字段使得服务器能够识别不同的用户会话和存储的用户偏好。
Cookie: User=admin
●Referer
Referer字段用于指示一个请求是从哪个页面发起的。这个字段通常由浏览器设置,当用户点击链接
或提交表单时,浏览器会将当前页面的URL作为Referer字段的值发送给目标服务器。
Referer: https://www.baidu.com/
●空行
表示请求头结束,请求正文(请求体)开始
●请求正文
GET方法:提交数据时,数据参数会作为URL的一部分,放在文件路径后面发送给服务器,被称为查询
字符串
http://www.hetianlab.com?username=12345%40qq.com&password=2f7402f......a592b&validateCode=&rtnJson=true
POST方法:发送的数据在请求体中
username=12345%40qq.com&password=2f7402f......a592b&validateCode=&rtnJson=true
3.HTTP服务端响应消息
HTTP响应报文:在接收和解释请求消息后,服务器返回一个HTTP响应消息。
HTTP响应也由四个部分组成,分别是:
●状态行
●响应头部字段
●空行
●响应正文
状态行
HTTP-Version Status-Code Reason-Phrase CRLFHTTP-Version:表示服务器HTTP协议的版本;
Status-Code:表示服务器发回的响应状态代码;
Reason-Phrase:表示状态代码的文本描述。


五大类HTTP状态码

●1xx
1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。
●2xx
2xx 类状态码表示服务器成功处理了客户端的请求,也是我们最愿意看到的状态。
「200 OK」 是最常见的成功状态码,表示一切正常。如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。
「204 No Content」 也是常见的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据。
「206 Partial Content」 是应用于 HTTP 分块下载或断电续传,表示响应返回的 body 数据并不是资源的全部,而是其中的一部分,也是服务器处理成功的状态。
●3xx
3xx 类状态码表示客户端请求的资源发送了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向。
「301 Moved Permanently」 表示永久重定向,说明请求的资源已经不存在了,需改用新的 URL 再次访问。
「302 Moved Permanently」 表示临时重定向,说明请求的资源还在,但暂时需要用另一个 URL 来访问。
301 和 302 都会在响应头里使用字段 Location,指明后续要跳转的 URL,浏览器会自动重定向新的 URL。
「304 Not Modified」 不具有跳转的含义,表示资源未修改,重定向已存在的缓冲文件,也称缓存重定向,用于缓存控制。
●4xx
4xx 类状态码表示客户端发送的报文有误,服务器无法处理,也就是错误码的含义。
「400 Bad Request」 表示客户端请求的报文有错误,但只是个笼统的错误。
「403 Forbidden」 表示服务器禁止访问资源,并不是客户端的请求出错。
「404 Not Found」 表示请求的资源在服务器上不存在或未找到,所以无法提供给客户端。
●5xx
5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码。
「500 Internal Server Error」 与 400 类型,是个笼统通用的错误码,服务器发生了什么错误,我们并不知道。
「501 Not Implemented」 表示客户端请求的功能还不支持,类似“即将开业,敬请期待”的意思。
「502 Bad Gateway」 通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误。
「503 Service Unavailable」 表示服务器当前很忙,暂时无法响应服务器,类似“网络服务正忙,请稍后重试”的意思。
响应头部字段
响应头部字段(Response Header Fields):
响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-
URI所标识的资源进行下一步访问的信息。
| Header头部 | 解释 |
|---|---|
| Server | web服务器软件名称 |
| Data | 原始服务器消息发出的时间 |
| Content-Type | 返回内容的MIME类型 |
| Set-Cookie | 设置Http Cookie |
| Content-Length | 响应体的长度 |
| ETag | 请求变量的实体标签的当前值 |
| refresh | 应用于重定向或一个新的资源被创造 |
| WWW-Authenticate | 表明客户端请求实体应该使用的授权方案 |
| Allow | 对某网络资源的有效的请求行为,不允许则返回405 |
| Content-Type | 返回内容的MIME类型 |
| Location | 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源 |
空行
表示响应头结束,响应正文(响应体)开始
响应正文
服务器返回的资源内容
{"result":"success","message":null}
4.HTTP部分请求方法理解
Get
Get 方法的含义是请求从服务器获取资源,这个资源可以是静态的文本、页面、图片视频等。

POST
POST:向Request-URI所标识的资源提交数据,数据就放在请求正文中用于向指定资源发送数据,指定的资源会对数据进行处理,然后将处理结果返回给客户端,一般用于表
单提交、文件上传

5.HTTPS与HTTP
HTTP 与 HTTPS 的区别
1.HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。
2.HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
3.HTTP 的端口号是 80,HTTPS 的端口号是 443。
4.HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。
HTTPS 解决的问题
HTTP 由于是明文传输,所以安全上存在以下三个风险:
●窃听风险,比如通信链路上可以获取通信内容,用户号容易没。
●篡改风险,比如强制入垃圾广告,视觉污染,用户眼容易瞎。
●冒充风险,比如冒充淘宝网站,用户钱容易没。
HTTPS在HTTP与TCP层之间加入了SSL/TLS协议。

可以很好的解决了上述的风险:
●信息加密:交互信息无法被窃取,但你的号会因为「自身忘记」账号而没。
●校验机制:无法篡改通信内容,篡改了就不能正常显示,但百度「竞价排名」依然可以搜索垃圾广告。
●身份证书:证明淘宝是真的淘宝网,但你的钱还是会因为「剁手」而没。
总结
通过本文的探索,我们完成了两个核心目标:
BurpSuite 的实战部署:从破解安装、证书配置到代理监听,一步步搭建了渗透测试的基础环境。借助 BurpSuite 的拦截功能,读者可以直观地观察 HTTP/HTTPS 流量,分析请求与响应的细节,甚至修改数据包以模拟攻击场景。
HTTP 协议的深度解析:从 URL/URI 的语法规则,到请求方法(GET/POST)、头部字段(如 Cookie、User-Agent)的作用,再到状态码的分类逻辑(如 404 与 500 的区别),我们系统性地梳理了 HTTP 的核心机制。而 HTTPS 的加密原理与 HTTP 的明文传输风险对比,则进一步揭示了安全通信的重要性。
如果你觉得这篇文章对你有帮助,欢迎点赞,你的支持是我分享更多免费优质内容的动力!
相关文章:
BurpSuite抓包与HTTP基础
文章目录 前言一、BurpSuite1.BurpSuite简介2.BurpSuite安装教程(1)BurpSuite安装与激活(2)安装 https 证书 3.BurpSuite使用4.BurpSuite资料 二、图解HTTP1.HTTP基础知识2.HTTP客户端请求消息3.HTTP服务端响应消息4.HTTP部分请求方法理解5.HTTPS与HTTP 总结 前言 在网络安全和…...
把DeepSeek接入Word软件,给工作提质增效!
前几天给大家分享了 DeepSeek 的资源包,可能很多人并没有本地部署 DeepSeek 的需求,只想使用它来提高一下工作效率。那今天来分享一下怎么直接在 Word 软件调用 DeepSeek,避免在 Word 软件和网页版 DeepSeek 里来回切换。 ## 前置条件 1、有…...
Linux进阶——web服务器
一、相关名词解释及概念: www:(world wide web)全球信息广播,通常来说的上网就是使用www来查询用户所需的信息。使用http超文本传输协议。 过程:web浏览器向web服务(Apache,Microsoft,nginx&…...
QT笔记——多语言翻译
文章目录 1、概要2、多语言切换2.1、结果展示2.2、创建项目2.2、绘制UI2.2、生成“.st”文件2.4、生成“.qm”文件2.5、工程demo 1、概要 借助QT自带的翻译功能,实现实际应用用进行 “多语言切换” 2、多语言切换 2.1、结果展示 多语言切换 2.2、创建项目 1、文件…...
oracle 基础语法复习记录
Oracle SQL基础 因工作需要sql能力,需要重新把sql这块知识重新盘活,特此记录学习过程。 希望有新的发现。加油!20250205 学习范围 学习SQL基础语法 掌握SELECT、INSERT、UPDATE、DELETE等基本操作。 熟悉WHERE、GROUP BY、ORDER BY、HAVIN…...
php 接入扣子的 token获取
本身逻辑只是个api,但是官方不提供php的sdk 扎心了老铁,这下php 狗都不用了,主要麻烦的是如何获取access_token,代码如下 protected function get_jwt(): string{$header [alg > RS256,typ > JWT,kid > $this->kid];…...
网络工程师 (22)网络协议
前言 网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,它规定了通信时信息必须采用的格式和这些格式的意义。 一、基本要素 语法:规定信息格式,包括数据及控制信息的格式、编码及信号电平等。这是协议的基础,确…...
【银河麒麟高级服务器操作系统】系统日志Call trace现象分析及处理全流程
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云…...
Milvus 存储设计揭秘:从数据写入到 Segment 管理的全链路解析
作为一款云原生向量数据库,Milvus 的高效查询性能有赖于其独特的存储架构设计。然而,在实际使用过程中,许多社区用户常常会遇到以下问题: 为什么频繁调用 flush 后,查询速度会变慢? 数据删除后,…...
Redis双写一致性(数据库与redis数据一致性)
一 什么是双写一致性? 当修改了数据库(MySQL)中的数据,也要同时更新缓存(redis)中的数据,缓存中的数据要和数据库中的数据保持一致 双写一致性,根据业务对时间上的要求,…...
14.PPT:中国注册税务师协会宣传【26】
目录 NO12 NO3/4/5 NO678 【文本框水平/垂直居中】【文本框内容水平/垂直居中】 NO12 坑:注意❗Word文档的PPt素材.docx的标题大纲是混乱的,虽然他设置了,所以我们需要重新设置 设计→主题视图→幻灯片母版→删除版式插入logo NO3/4…...
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
参考文章: 安装protoc、protoc-gen-go、protoc-gen-go-grpc-CSDN博客 一、简单介绍 本文开发环境,均为 windows 环境,mac 环境其实也类似 ~ ① 编译proto文件,相关插件 简单介绍: protoc 是编译器,用于将…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_write_stderr函数
定义 在ngx_log.h 中 static ngx_inline void ngx_write_stderr(char *text) {(void) ngx_write_fd(ngx_stderr, text, ngx_strlen(text)); } 在开发软件时,尤其是像 Nginx 这样复杂的服务器软件,开发者需要一种方法来输出调试信息或者错误信息。这段代码…...
使用requestAnimationFrame减少浏览器重绘
文章目录 介绍使用使用rAF前使用rAF后 介绍 在屏幕中,浏览器通常都以60FPS(1/60 s)每帧更新屏幕,但是当前端绑定了一些高频事件,如鼠标移动,屏幕滚动、触摸滑动等时,在一帧的周期内,…...
autMan奥特曼机器人-对接deepseek教程
一、安装插件ChatGPT 符合openai api协议的大模型均可使用此插件,包括chatgpt-4/chatgpt-3.5-turbo,可自定义服务地址和模型,指令:gpt,要求Python3.7以上,使用官方库https://github.com/openai/openai-pyt…...
一个精简完整的全栈电商平台采用现代化技术栈和安全架构
以下是一个精简但完整的全栈电商平台实现,采用现代化技术栈和安全架构: 架构设计 前端:SvelteKit + TypeScript (SSR/SSG) 后端:Go 1.21 + Fiber框架 数据库:MySQL 8.0 + Redis 7.0 安全:Cloudflare WAF + JWT+HTTPOnly+Secure Cookie 部署:Docker Swarm + Traefik (自…...
数据分析:企业数字化转型的金钥匙
引言:数字化浪潮下的数据金矿 在数字化浪潮席卷全球的背景下,有研究表明,只有不到30%的企业能够充分利用手中掌握的数据,这是否让人深思?数据已然成为企业最为宝贵的资产之一。然而,企业是否真正准备好从数…...
MySQL中datetime类型23:59:59变成下一天的00:00:00
1. 现象 公司项目中有一个统计的业务需求,需要记录数据的开始和结束时间点,对应的是MySQL表中的datetime类型。结束时间是当天的23:59:59,但是java程序中是对的时间,但是Mybatis-plus入库了之后查看数据库却变成第二天的00:00:00&…...
玩转Docker | 使用Docker部署httpd服务
玩转Docker | 使用Docker部署httpd服务 前言一、准备工作环境确认检查操作系统准备网站目录和配置文件二、拉取httpd镜像三、运行httpd容器运行容器命令检查容器状态四、验证httpd服务浏览器访问测试错误排查五、容器管理与维护查看容器状态停止和启动容器更新网站内容和配置六…...
Vue 双向数据绑定的原理
Vue 的双向数据绑定是其核心特性之一,它可以让视图与数据保持同步,简化了开发者在 DOM 操作上的工作。Vue 的双向数据绑定通过 响应式系统 和 DOM 事件监听 来实现,当数据发生变化时,视图会自动更新;当视图中的元素&am…...
Spring Web MVC项目的创建及使用
一、什么是Spring Web MVC? Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中,通常被称为Spring MVC。 1.1 MVC的定义 MVC 是 Model View Controller 的缩写,它是软件工程中的一种软件架构…...
32.日常算法
1.最大子数组和 题目来源 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,…...
MySQL的底层原理与架构
前言 了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。 了解MySQL架构 通过上面的架构图可以得知,Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的,下面将主要…...
python Excel 表读取合并单元格以及清除空格符
读取合并单元格并保留合并信息 读取合并单元格并保留合并信息清除各单元格的空格和换行符,并去除列名中的空格和换行符 读取合并单元格并保留合并信息 当我们只是使用 pandas 的 read_excel 方法读取 Excel 文件时,我们可能会遇到一个很棘手的问题&…...
Node.js 实现简单爬虫
介绍 爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 本文将使用 Nodejs 编写一个简单的爬虫脚本,爬取一个美食网站,获取菜品的标题和图片链接,并以表格的形式输出。 准备工作 1、初始化项目 首先࿰…...
【Pytorch】nn.RNN、nn.LSTM 和 nn.GRU的输入和输出形状
nn.RNN、nn.LSTM 和 nn.GRU的输入和输出形状 输入形状通用输入参数特殊情况(LSTM) 输出形状nn.RNN 和 nn.GRUnn.LSTM 代码示例 输入形状 通用输入参数 这三个模块通常接收以下两种形式的输入: 输入序列:形状为 (seq_len, batch…...
代码随想录算法训练营第三十一天| 回溯算法04
491. 递增子序列 题目: 代码随想录 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 这题需要注意的点: 1. path长度在2以上才放入最终结果 2. 需要记录已经使用过的数字&am…...
2024.1版android studio创建Java语言项目+上传gitee
1.在gitee上创建仓库 Gitee 创建仓库并邀请成员指南_gitee创建仓库邀请成员-CSDN博客 见1 2.新建android studio项目 3.在Android studio配置gitee Android Studio提交代码到gitee仓库_android log in to gitee-CSDN博客 其中的一二步 p.s.添加gitee账户选择password时&a…...
React 打印插件 -- react-to-print
一、安装依赖 npm install react-to-print 二、使用 import { useReactToPrint } from "react-to-print"; import React, { useRef, forwardRef } from react;const Content () > {const contentRef useRef(null);const reactToPrintFn useReactToPrint({ c…...
opentelemetry-collector 配置elasticsearch
一、修改otelcol-config.yaml receivers:otlp:protocols:grpc:endpoint: 0.0.0.0:4317http:endpoint: 0.0.0.0:4318 exporters:debug:verbosity: detailedotlp/jaeger: # Jaeger supports OTLP directlyendpoint: 192.168.31.161:4317tls:insecure: trueotlphttp/prometheus: …...
