HTTP/HTTPS 协议详解:请求头、请求体、状态码
所有Web接口、APP接口基本都基于HTTP/HTTPS协议不懂协议就做不好接口测试。本文零基础拆解HTTP/HTTPS核心原理、报文结构、请求头、请求体、常用状态码全部适配接口测试实战场景。一、HTTP与HTTPS核心区别1. HTTP超文本传输协议明文传输、无状态、端口80数据不加密传输速度快但是存在数据劫持、篡改、窃听风险一般用于内网测试、静态资源访问。2. HTTPS安全超文本传输协议HTTPSSL/TLS加密密文传输、端口443具备数据加密、身份认证、防篡改能力外网正式环境全部使用HTTPS。3. 核心差异总结端口不同、加密方式不同、安全性不同、证书校验不同接口测试中HTTPS需处理证书忽略、证书校验问题。二、HTTP完整报文结构接口测试核心一次完整HTTP请求分为请求行、请求头、请求体、响应行、响应头、响应体。1. 请求行格式请求方法 接口URL 协议版本示例GET /login HTTP/1.1定义本次请求的方式与地址。2. 请求头Headers接口测试最常用部分携带请求身份、数据格式、客户端信息核心字段Host服务器域名/地址User-Agent客户端标识Content-Type请求体数据格式JSON/FormAuthorization鉴权Token、令牌Cookie本地缓存身份信息Referer请求来源地址。3. 请求体Body存放具体请求参数POST/PUT请求常用GET请求无请求体。支持form-data、x-www-form-urlencoded、raw(JSON)等格式。4. 响应行协议版本 状态码 状态描述标识请求结果。5. 响应头服务器返回的配置信息缓存策略、数据格式、时间、Cookie等。6. 响应体Response Body接口真正返回的业务数据是测试校验的核心内容。三、接口测试高频状态码详解1xx 信息类临时响应100继续请求客户端可继续发送请求体测试中极少遇到。2xx 成功类请求正常200 OK请求成功业务正常201 Created资源创建成功新增接口204 No Content请求成功无返回内容。3xx 重定向类301永久重定向302临时重定向接口测试中出现3xx一般为地址配置错误、路由问题。4xx 客户端错误测试重点400 Bad Request参数错误、格式错误401 Unauthorized未登录、Token失效403 Forbidden权限不足、禁止访问404 Not Found接口地址不存在405 Method Not Allowed请求方法不匹配429 Too Many Requests请求过于频繁、限流。5xx 服务端错误后端Bug500 Internal Server Error服务器内部报错代码异常502 Bad Gateway网关异常、服务未启动503 Service Unavailable服务不可用、过载停机504 Gateway Timeout接口请求超时。四、测试实战要点1. 200不代表业务正常必须校验响应体业务字段、状态码2. 4xx优先排查请求参数、请求头、鉴权、请求方法3. 5xx直接判定后端服务异常提交严重级别缺陷4. HTTPS接口测试需忽略证书校验避免本地调试报错。