聊城市网站建设_网站建设公司_jQuery_seo优化
2025/12/29 8:53:10 网站建设 项目流程

一、HTTP 核心工作流程
建立连接:客户端(浏览器 / APP/JMeter)与服务器通过 TCP 三次握手建立连接。
发送请求:客户端向服务器发送 HTTP 请求报文(包含请求行、请求头、请求体)。
处理请求:服务器解析请求,处理业务逻辑,生成响应报文。
返回响应:服务器向客户端返回 HTTP 响应报文(包含状态行、响应头、响应体)。
关闭连接:HTTP/1.0 默认为短连接,请求完成后关闭 TCP;HTTP/1.1 支持长连接(Connection: keep-alive),可复用连接处理多个请求。
二、HTTP 请求报文结构(Fiddler 可直接查看)
请求报文分为 3 部分,Fiddler 中选中会话后,在 Inspectors → Request → Raw 可查看原始报文:
http

1. 请求行:方法 + URL + 协议版本

POST /api/login HTTP/1.1

2. 请求头:键值对,传递元信息(如Cookie、Content-Type)

Host: www.test.com
Content-Type: application/json
Cookie: sessionId=123456

3. 请求体:可选,传递请求参数(如POST的JSON/表单数据)

{"username":"test","password":"123456"}

  1. 核心请求方法
    方法 作用 幂等性 常用场景
    GET 从服务器获取资源 是 查询数据(如获取用户信息)
    POST 向服务器提交资源 否 提交数据(如登录、创建订单)
    PUT 全量更新服务器资源 是 更新用户信息(全字段)
    DELETE 删除服务器资源 是 删除订单
  2. 关键请求头
    Host:目标服务器域名 / IP(必选,用于虚拟主机区分)。
    Content-Type:请求体数据格式,接口测试高频使用:
    application/x-www-form-urlencoded:表单提交(默认)。
    application/json:JSON 格式(RESTful 接口首选)。
    multipart/form-data:文件上传。
    Cookie:携带会话信息,维持用户登录状态。
    User-Agent:客户端标识(如浏览器、JMeter、APP)。
    三、HTTP 响应报文结构(Fiddler 查看响应,JMeter 断言验证)
    响应报文同样分为 3 部分,Fiddler 中 Inspectors → Response → Raw 可查看:
    http

1. 状态行:协议版本 + 状态码 + 状态描述

HTTP/1.1 200 OK

2. 响应头:键值对,传递响应元信息(如响应格式、服务器信息)

Content-Type: application/json
Server: nginx
Set-Cookie: sessionId=789012; Path=/

3. 响应体:服务器返回的实际数据(如JSON、HTML)

{"code":200,"msg":"success","data":{"token":"abcdefg"}}

  1. 核心状态码(JMeter 响应断言常用)
    状态码分为 5 类,接口测试重点关注 2xx(成功)、4xx(客户端错误)、5xx(服务器错误):
    类别 状态码 含义 排查方向
    成功 200 OK 请求成功 正常响应
    重定向 302 Found 临时重定向 检查 Location 响应头
    客户端错误 400 Bad Request 请求参数错误 核对请求参数格式
    客户端错误 401 Unauthorized 未授权 检查 Token/Cookie 是否有效
    客户端错误 403 Forbidden 禁止访问 检查权限配置
    客户端错误 404 Not Found 资源不存在 核对 URL 路径
    服务器错误 500 Internal Server Error 服务器内部错误 查看服务器日志
    服务器错误 503 Service Unavailable 服务不可用 检查服务器是否过载
  2. 关键响应头
    Content-Type:响应体数据格式(如 application/json)。
    Set-Cookie:服务器向客户端设置 Cookie,维持会话。
    Cache-Control:缓存控制策略(如 no-cache 表示不缓存)。
    四、HTTP 无状态与会话维持
    HTTP 本身是无状态协议,服务器无法识别连续请求是否来自同一客户端,需通过以下方式维持会话:
    Cookie:客户端存储的小型文本文件,服务器通过 Set-Cookie 响应头设置,客户端后续请求自动携带。
    Fiddler 可在 Inspectors → Request → Cookies 查看携带的 Cookie。
    JMeter 需添加 HTTP Cookie 管理器 自动管理 Cookie。
    Token:接口认证主流方式(如 JWT),客户端登录后获取 Token,后续请求在 请求头 中携带(如 Authorization: Bearer )。
    Fiddler 可抓包查看 Token 是否正确携带。
    JMeter 需用 JSON 提取器 从登录响应中提取 Token,后续请求引用变量(如 ${token})。
    五、HTTP 与 HTTPS 的区别(抓包与测试必知)
    维度 HTTP HTTPS
    安全性 明文传输,易被窃听、篡改 加密传输(TLS/SSL 层),安全可靠
    端口 80 443
    抓包配置 Fiddler/JMeter 无需额外配置 Fiddler 需安装信任根证书,JMeter 需配置 SSL 管理器
    性能 无加密开销,速度快 有握手和加密开销,速度稍慢

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询