请求头里能塞什么:改了它,服务器给你的页面就不一样
一、请求头是什么
浏览器每次访问网站,除了送出网址,还会附带一组"说明":我接受什么语言、什么压缩格式、从哪个页面跳过来、用什么客户端。这些说明就是请求头。服务器据此决定返回什么内容,也据此判断你是谁。
命令行工具允许自定义这些说明,于是就有了调试与测试的空间。
二、三种典型用法
| 用法 | 效果 | 说明 |
|---|---|---|
| 加一个头 | 指定语言偏好,例如让站点返回英文版 | 服务器按 Accept-Language 选择语言版本 |
| 加两个头 | 语言偏好 + 自定义头同时生效 | 常用来测试网关、CDN、后端的透传与过滤 |
| 加一个空头 | 只发送头名称、不带值 | 用一个小技巧:在名称后加分号,就会变成空值头 |
三种用法对应三类需求:验证内容协商、验证链路是否篡改或丢弃自定义头、验证服务端对空值的容错。
三、为什么"空值头"值得单独测
很多线上故障不是"头被改错",而是"头被丢掉"或"值变成空"。服务端拿到空值时是否按默认值处理,直接决定接口会不会报错。
空值头是一种低成本探针:它能暴露服务端在解析、校验、默认值兜底上的薄弱环节。这类问题在正常请求里几乎不会出现,一旦出现(比如中间代理清空了某个头的值),就会变成线上事故。
四、实际排查中怎么用
- 验证内容协商。同一地址分别带不同语言偏好请求,比对返回内容是否真的变化。
- 验证透传。发一个自定义头到后端,看日志里能否看到;看不到就说明中间层丢弃了它。
- 验证缓存。不同头的组合会不会命中同一份缓存,是 CDN 配置的常见坑。
- 验证鉴权。把认证头改空、改错、去掉,观察服务端是否正确拒绝——这一步能直接暴露越权风险。
五、三条注意
- 头名称大小写不敏感,值敏感。名称随便写,值差一个字符结果就不同。
- 别用改头来"绕过"限制。伪造来源、伪造身份这类做法属于攻击行为,正常测试请在自己有权测试的系统内进行。
- 记录你发了什么。排障时最怕"改了但没记",尤其是多轮对比测试。
请求头看起来只是几行参数,实际上是客户端和服务端之间最容易被忽视的约定层。它出问题时不报错,只返回错的东西——这比报错更难查。
猜你喜欢
YOU LIKE- AI 答对了,为什么还是又贵又慢?看懂「轨迹级评测」
- 在太平洋保险投诉,要准备什么、多久有回复
- 和设计师沟通配色避坑:色卡、老人房安全与隐形门隐患
- 定制衣柜多少钱?报价方式与隐藏费用拆解
- 手机照片怎么批量转成一个PDF?拍对第一步最关键
- 天花吊顶有几种做法?6种工艺对号入座,别凭喜好乱选
- 宝宝睡觉张口呼吸、磨牙、打呼噜?这些是身体发出的信号
- 曾春:如何预防运动损伤?
- Wish卖家版手机端登不上?按4层顺序排查登录失败
- 雅思总分怎么算:四科平均后,半分是怎么进位的
- 旧房改造开工前准备:施工报备资料与量房对比
- 合同发票上的金额大写怎么写:零、整、角分厘一次讲清
- 长沙公积金:最高还是60万,但门槛从缴6个月变成了12个月
- 小型办公电脑怎么选:按桌面空间和算力负荷,四类方案对号入座
- 慢病患者买医疗险,重点看"用药保障"和"既往症"
- 疾控系统职称申报:副研究员博士满2年就能报,中专报中级要满7年
- 一场专利官司,把两台没发布的手机"审"了出来
- 胡萝卜米粉里的"胡萝卜"是真的吗?1 段强化米粉成分拆解
