小牛丨软件测试学习小牛丨软件测试学习
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
  • 网络协议精华文章

    • 网络协议精华文章
    • 1. HTTP 协议面试怎么讲
    • 2. HTTPS 和 HTTP 有什么区别
    • 3. GET 和 POST 区别怎么回答
    • 4. 状态码 200 302 400 401 403 404 500 怎么理解
    • 5. Cookie Session Token 怎么区分
    • 6. TCP 三次握手四次挥手怎么讲
    • 7. 抓包分析接口问题怎么做
    • 8. 网络超时和连接失败怎么排查
    • 9. 接口测试中的请求头和响应头怎么看
    • 10. 网络协议题怎么结合项目回答
⌕
🛒项目实战📦资料包🛠测试神器AIAI路线CV简历测评🧭入行测评🧪测开测评🎯训练营🏆案例❤赞赏我

9. 接口测试中的请求头和响应头怎么看

请求头和响应头是接口测试中非常重要但经常被忽略的部分。很多同学做接口测试只看 URL、参数和响应体,却忽略 Header。结果遇到登录失败、Token 没带、Content-Type 错误、Cookie 不生效、跨域失败、文件上传失败、缓存异常时,不知道从哪里查。实际上,很多接口问题并不在 Body,而在 Header。

面试中问“请求头和响应头怎么看”,面试官想知道你是否能通过 Header 分析鉴权、请求格式、会话、缓存、跨域、安全和链路追踪问题。测试岗位不需要背所有 Header,但常见 Header 必须知道,并且要能结合项目场景解释。

一、Header 在 HTTP 中的作用

HTTP 请求和响应都可以带 Header。

请求头用于告诉服务端:客户端是谁、请求格式是什么、是否有登录凭证、希望接收什么格式、来源是什么。

响应头用于告诉客户端:返回内容是什么格式、是否设置 Cookie、是否允许跨域、是否缓存、是否重定向、链路 ID 是什么。

接口测试时,Header 常常决定请求能不能被服务端正确识别。

二、常见请求头

1. Content-Type

表示请求体格式。常见值:

application/json
application/x-www-form-urlencoded
multipart/form-data

如果接口要求 JSON,但请求头写成 form,后端可能解析失败,返回 400 或业务错误。

文件上传通常使用 multipart/form-data。

2. Authorization

常用于 Token 鉴权。

Authorization: Bearer xxxxxx

如果缺失、格式错误或 Token 过期,接口可能返回 401。

3. Cookie

浏览器会自动携带 Cookie,用于传统 Web 登录态、Session、用户偏好等。

Cookie: JSESSIONID=xxx

4. User-Agent

表示客户端类型,例如浏览器、App、脚本。

有些系统会根据 User-Agent 做兼容或风控。

5. Referer

表示请求来源页面。有些系统会用 Referer 做简单防盗链或安全校验。

6. Accept

表示客户端期望接收的响应格式。

Accept: application/json

7. TraceId / RequestId

有些系统会在请求头或响应头中放链路追踪 ID,用于日志排查。

三、常见响应头

1. Content-Type

表示响应体格式。如果接口返回 JSON,通常是:

Content-Type: application/json

如果返回文件,可能是 application/octet-stream 或其他类型。

2. Set-Cookie

服务端通过响应头设置 Cookie。

Set-Cookie: JSESSIONID=abc; HttpOnly; Secure

登录接口常需要关注它。

3. Location

重定向地址。302 响应中常见。

如果接口返回 302,要看 Location 指向哪里。

4. Cache-Control

控制缓存策略。

如果页面数据不刷新,可能和缓存头有关。

5. Access-Control-Allow-Origin

跨域相关响应头。前后端分离项目中常见。

如果浏览器跨域失败,接口可能实际有响应,但浏览器拦截了。

6. Content-Disposition

文件下载时常见,用来指定文件名。

Content-Disposition: attachment; filename="report.xlsx"

四、请求头在鉴权中的作用

登录态问题经常和 Header 有关。

Token 模式下,后续接口必须带:

Authorization: Bearer token

Session 模式下,后续请求通常带:

Cookie: JSESSIONID=xxx

如果接口返回 401,第一步就要看请求头中是否带了登录凭证。

如果返回 403,则说明可能已认证但无权限,还要结合角色和资源权限排查。

五、Content-Type 常见问题

1. JSON 接口请求头错误

接口要求 JSON:

Content-Type: application/json

但实际传了 form,后端可能收不到参数。

2. 文件上传请求头错误

文件上传一般是:

multipart/form-data

如果写成 JSON,后端无法解析文件。

3. 字符编码问题

中文乱码可能和编码、Content-Type、服务端解析有关。

六、响应头在测试中的作用

1. 登录是否设置 Cookie

登录成功后,如果响应体成功但没有 Set-Cookie,后续页面可能仍未登录。

2. 302 跳转看 Location

未登录访问页面可能返回 302 到登录页。接口自动化如果没处理 302,可能误判。

3. 文件下载看 Content-Disposition

测试下载功能时,要验证文件名、文件类型和内容是否正确。

4. 缓存问题看 Cache-Control

列表数据不刷新时,可以查看是否被缓存。

5. 跨域问题看 CORS Header

前端跨域报错时,要看响应头是否允许当前 Origin、方法和 Header。

七、项目场景:接口返回 401

排查 Header:

  1. 是否带 Authorization;
  2. Token 是否有 Bearer 前缀;
  3. Token 是否过期;
  4. Cookie 是否丢失;
  5. 请求域名是否导致 Cookie 不携带;
  6. 跨域请求是否允许携带凭证。

不要只说“登录失效”,要用 Header 证明。

八、项目场景:POST 参数后端收不到

排查:

  1. 查看 Content-Type;
  2. 查看 Request Payload;
  3. 确认接口文档要求 JSON 还是 form;
  4. 确认字段名和类型;
  5. 查看后端日志。

很多“参数没传”其实是 Content-Type 错。

九、项目场景:跨域失败

浏览器控制台提示 CORS 错误时,接口可能在 Network 中看到请求,但浏览器拦截响应。

要看响应头:

  • Access-Control-Allow-Origin;
  • Access-Control-Allow-Methods;
  • Access-Control-Allow-Headers;
  • Access-Control-Allow-Credentials。

如果前端需要带 Cookie,还要允许 credentials,并且 Origin 不能随便是 *。

十、面试回答模板

如果面试官问“接口测试中请求头和响应头怎么看”,可以这样回答:

接口测试中 Header 很重要。请求头我重点看 Content-Type、Authorization、Cookie、User-Agent、Referer、Accept、TraceId 等。Content-Type 决定后端怎么解析请求体,Authorization 和 Cookie 关系到登录鉴权,TraceId 可以帮助查日志。响应头我会看 Content-Type、Set-Cookie、Location、Cache-Control、Access-Control-Allow-Origin、Content-Disposition 等。比如接口 401 时,我会先看请求头是否带 Token 或 Cookie;POST 参数解析失败时看 Content-Type;302 时看 Location;跨域失败时看 CORS 响应头;文件下载时看 Content-Disposition。

十一、常见追问

追问:Content-Type 有什么用?

告诉服务端请求体格式,比如 JSON、form、multipart。写错会导致参数解析失败。

追问:Authorization 和 Cookie 都能做登录吗?

可以。Token 常放 Authorization,传统 Session 常通过 Cookie 带 Session ID。

追问:302 看哪个响应头?

看 Location,表示重定向目标地址。

追问:跨域看哪些 Header?

看 Access-Control-Allow-Origin、Allow-Methods、Allow-Headers、Allow-Credentials。

十二、练习清单

  1. 抓包查看请求头;
  2. 抓包查看响应头;
  3. 修改 Content-Type 观察接口变化;
  4. 去掉 Authorization 观察 401;
  5. 查看登录接口 Set-Cookie;
  6. 查看 302 的 Location;
  7. 分析一次跨域问题;
  8. 分析一次文件下载响应头;
  9. 用 TraceId 查日志;
  10. 准备 Header 面试回答。

Header 是接口测试的关键证据。不要只看参数和响应体,很多鉴权、格式、缓存、跨域和文件问题都藏在请求头和响应头里。

配套刷题:

  • 网络协议测试面试题
相关推荐

下一步可以看这些

面试通关软件测试面试通关系列精华文章

把面试题、项目、简历和训练营串成一套求职准备路径。

入行路线零基础入行软件测试专题路径

从测评、学习路线、项目、简历到面试,按顺序入行。

进阶路线初中级测试进阶高级专题路径

接口自动化、性能测试、CI/CD、复杂业务质量保障进阶路线。

AI 方向AI 测试学习路线专题页

大模型评测、RAG 测试、Agent 测试和 AI 自动化路线。

求职结果Offer 案例 / 学员案例展示

看看真实学员 Offer 案例,判断目标和学习投入是否匹配。

资料 / 交流群添加小牛微信

备注:资料、简历、AI 或找工作,领取对应资料或进交流群。

添加小牛微信
Prev
8. 网络超时和连接失败怎么排查
Next
10. 网络协议题怎么结合项目回答