httpCanary 中文文档 下载 App

Header 分析:请求头与响应头的完整解读

为什么要关注 Header

HTTP Header 承载了比请求体更多的元信息。很多调试场景中,问题的根源就在 Header 里——比如 Cookie 过期导致登录态丢失、Content-Type 不匹配导致服务端拒绝处理、Cache-Control 设置不当导致数据没有更新。

请求头常见字段

在请求标签页的 Header 区域,你会看到类似这些字段:

字段示例含义
User-AgentMozilla/5.0 ...客户端标识,App 会伪装或自定义 UA
Content-Typeapplication/json请求体格式,服务端据此解析 Body
Content-Length1234请求体大小(字节)
AuthorizationBearer eyJhbG...身份认证 token
Cookiesession_id=abc123...会话标识
Refererhttps://example.com/page请求来源页面
Hostapi.example.com目标服务器域名
Acceptapplication/json客户端期望的响应格式
Accept-Encodinggzip, br客户端支持的压缩格式
X-Requested-WithXMLHttpRequest部分老服务端用来区分 AJAX 请求

重点关注:Authorization 和 Cookie——这两个字段决定了请求能不能通过身份验证。如果你抓的某个接口一直返回 401 或 403,先检查这两个字段。

响应头常见字段

响应头由服务器返回,包含了处理和展示响应的关键信息:

字段示例含义
Content-Typeapplication/json; charset=utf-8响应体格式和编码
Content-Length5678响应体大小
Cache-Controlmax-age=3600缓存策略
Set-Cookietoken=xyz...服务端下发的新 Cookie
Locationhttps://new-url.com重定向目标(3xx 响应)
Access-Control-Allow-Origin*CORS 跨域配置
Servernginx/1.18服务器类型和版本

重点关注:Set-Cookie——登录后服务端通过这个字段下发 session,后续请求的 Cookie 就来自这里。如果你调试「登录态丢失」问题,就是看这个字段有没有正确下发、客户端有没有正确保存。

Header 的两种视图

httpCanary 提供了两种查看 Header 的方式:

  1. 表格视图——以 Key / Value 两列展示,清晰直观,适合逐字段查看
  2. 原始视图——按 HTTP 协议格式原样展示,适合复制或和抓包工具的原始输出对比

在请求详情页切换到 Header 区域后,可以在右侧或顶部找到视图切换按钮。

用 Header 解决实际问题

问题:接口返回 302 重定向但客户端没有跳转

检查响应头里的 Location 字段——可能是一个内网地址或已经失效的 URL。同时检查请求头里的 User-Agent——有些服务端会根据 UA 返回不同的重定向目标。

问题:明明请求参数正确,服务端却返回「请先登录」

看请求头里的 Cookie 或 Authorization 字段——要么根本没带上(客户端漏发了),要么值已经过期了(时间戳或签名不对)。

问题:服务端返回的 JSON 客户端解析失败

先看响应头的 Content-Type——是不是正确的 application/json。如果是 text/html,说明服务端返回的其实是一个 HTML 错误页面,不是 JSON 数据。

问题:想让客户端获取最新数据但总是拿到缓存

检查响应头的 Cache-Control——如果有 max-age=xxx 或者 no-cache 标记,客户端可能在走本地缓存而不是发真实请求。