对于流量包的基础解读
报文基本解读
作为一个新手今天开始具体学习web方面的相关知识
针对下面这种图片进行解读
请求行
POST /api/graphs/fulltext-search?haha=123 HTTP/1.1
POST 是一种请求方法,向服务器提交数据
我查了一些资料,发现还有其他的请求方法,
- GET用于获取资源(如浏览网页、查询数据),参数通常附在URL后(如?id=1),是最常用的请求方法。
- PUT 用于更新或替换资源(如完整修改一篇文章的内容),需将完整资源数据放在请求体中。
- DELETE用于删除资源(如删除数据库中的一条记录)。
- PATCH用于部分更新资源(如仅修改文章的标题,无需提交完整资源),是对PUT 的补充。
- HEAD 仅请求资源的响应头(不返回响应体),常用于检查资源是否存在、获取元信息(如文件大小)。
- OPTIONS 用于查询目标资源支持的请求方法(如服务器允许 GET、POST 还是其他方法),多用于跨域预检请求。
/api/graphs/fulltext-search:
请求的资源路径,即服务器上处理该请求的接口地址。
?haha=123:
URL 的查询参数,属于额外的请求参数(这里是haha键,值为123)。平常还可以见到其他类型的比如id,papg什么的
HTTP/1.1:
HTTP 协议版本,主流的协议版本之一。
查了资料发现HTTP 协议主要有 HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3 五个关键版本。其中 HTTP/1.1、HTTP/2 是目前主流
请求头
请求头中每个字段是客户端向服务器传递的 “元信息”
Host: localhost
目标服务器的地址,这里是本地服务器(localhost)。
Cookie: xxx=xxxxxxxx…
客户端存储的 Cookie 信息,用于身份识别、会话保持(比如登录状态)。
User-Agent
客户端的 “身份标识”,说明浏览器(这里是 Edge,基于 Chromium 内核)和操作系统版本。
Sec-Ch-Ua等
Chrome 浏览器的 “用户代理客户端提示”,用于隐私友好地告知服务器浏览器品牌 / 版本。
Accept: text/html
客户端能接受的响应内容类型(这里希望返回 HTML 文本)。
Referer: https://osgraph.com/
请求的 “来源页面”,服务器可用于统计流量来源
Accept-Encoding
客户端支持的压缩编码方式(如 gzip),服务器可用此压缩响应以减少传输量。
Accept-Language
客户端偏好的语言及优先级(如优先中文zh-CN,其次英语en等)。
Connection: close
表示请求完成后关闭连接(HTTP/1.1 默认是keep-alive,即保持连接)。
Content-Type
请求体的数据格式(这里是application/x-www-form-urlencoded,即表单键值对格式)
Content-Length
请求体的字节长度(这里是 26 字节)。
请求体
这里是Content-Type格式
采用 “键 = 值 & 键 = 值” 的字符串格式,特殊字符会 URL 编码
用于提交数据,比如这是 POST 请求提交的具体数据,采用 “键 = 值 & 键 = 值” 的表单格式:
indexName=github:表示索引名称为github。
keyword=1:表示搜索关键词为1。