当前位置:首页 > 行业动态 > 正文

http通信数据

HTTP通信数据含请求与响应,请求含方法、URL、头部,响应含状态码、头部及数据,数据明文传输,存安全风险,HTTPS通过TLS加密增强

HTTP通信数据详解

HTTP请求结构

HTTP请求由以下三部分组成:

  1. 请求行:包含请求方法(GET/POST等)、URL路径、协议版本
  2. 请求头部:键值对形式的元信息(如HostUser-Agent
  3. 请求体:携带POST/PUT等方法的数据(如表单、JSON)
示例请求(GET) 说明
GET /api/user HTTP/1.1 请求行
Host: example.com 请求头
User-Agent: Mozilla/5.0 请求头
Accept: / 请求头
Connection: keep-alive 请求头
空行分隔头部和体

HTTP响应结构

HTTP响应包含:

  1. 状态行:协议版本、状态码、状态描述
  2. 响应头部类型、缓存策略等元信息
  3. 响应体:HTML/JSON/图片等实际数据
示例响应(200 OK) 说明
HTTP/1.1 200 OK 状态行
Content-Type: text/html 响应头
Content-Length: 387 响应头
Server: nginx 响应头
空行分隔头部和体
<html>...</html> 响应体

常见状态码分类

类别 状态码范围 含义 典型场景
1xx 100-199 信息响应 继续请求、切换协议
2xx 200-299 成功 GET返回资源、POST创建成功
3xx 300-399 重定向 永久/临时跳转
4xx 400-499 客户端错误 404未找到、403禁止访问
5xx 500-599 服务端错误 502网关错误、504超时

关键头部字段解析

通用头部字段

字段名 作用 示例值
Host 指定服务器域名 example.com:8080
User-Agent 客户端身份标识 curl/7.68.0
Accept 可接受的响应内容类型 application/json
Cookie 客户端携带的Cookie数据 sessionid=abc123

响应专用字段

字段名 作用 示例值
Content-Type 响应体MIME类型 application/pdf
Set-Cookie 设置服务端Cookie token=xyz; Path=/
Location 重定向地址 https://new.domain/

数据抓包示例

原始TCP流片段

15:46:23.123 -> 192.168.1.100:80
GET /images/logo.png HTTP/1.1
Host: website.com
Accept-Encoding: gzip

解析后结构
| 字段层级 | 内容 |
|—————-|——————————-|
| 请求方法 | GET |
| URL路径 | /images/logo.png |
| 协议版本 | HTTP/1.1 |
| Host头部 | website.com |
| 编码支持 | gzip |


问题与解答

Q1:状态码301和302有什么区别?

A1

  • 301 Moved Permanently:表示资源永久迁移,浏览器会缓存新地址,后续直接访问新URL。
  • 302 Found:表示临时重定向,浏览器不缓存跳转关系,每次都会重新请求原地址。

Q2:如何查看HTTP请求中的User-Agent信息?

A2

  • 浏览器开发者工具:在Chrome/Firefox中按F12,切换到”Network”标签,点击具体请求即可查看User-Agent
  • 服务器端日志:Nginx/Apache等服务器日志会记录完整的请求头信息。
  • 抓包工具:使用Wireshark/Fiddler捕获HTTP请求,直接解析User-Agent字段
0