首页/网络/协议速查/HTTP 请求头总览与规则
HTTP 头与缓存70 条

HTTP 请求头总览与规则

请求头由「字段名: 字段值」组成,通知服务器关于请求、客户端与期望处理方式的信息;HTTP/2 起字段名统一小写并压缩传输。

协议速查网络更新于 2026-10-13

请求头总览是什么

请求头由若干「字段名与字段值」组成,用来告诉服务器关于这次请求、发起方能力与期望处理方式的信息。它们可以按用途归成几类:描述目标与路由、声明客户端能力、携带身份凭证、描述请求体、控制缓存与条件请求、说明来源。理解这些字段的分组与优先级,比孤立记住某个字段名有用得多——排障时往往是几个头部的组合决定了最终行为。

基本信息

语法字段名、冒号与字段值,冒号后可有一个空格
规范依据字段定义与消息元数据相关章节
大小写旧版本不敏感,新版本要求统一小写
常见分类路由、能力协商、凭证、请求体描述、缓存、来源
重复字段多数可重复,语义由具体字段定义

典型使用场景

  • 接口联调:核对请求头是否完整,排查认证与缓存问题
  • 抓包分析:观察真实发出的头部,确认中间设备是否改写
  • 安全加固:检查凭证类头部是否被写进访问日志
  • 缓存排障:确认条件请求与校验值字段是否带上
  • 多域名路由:确认目标主机字段与配置是否匹配

查看原始请求头

查看原始请求头
curl -sv https://example.com/ 2>&1 | sed -n '/> GET/,/^>/p'   # 打印实际发出的请求行与头部
curl -si -H 'Accept: application/json' https://api.example.com/   # 手工加一个头部验证服务端行为
curl -sv -o /dev/null https://example.com/ 2>&1 | grep '^>'   # 只看发出的方向

最常用字段一览

字段作用
目标主机虚拟主机路由,旧版本必填
客户端标识与能力声明说明客户端类型与可接受的内容格式
凭证类身份证明与会话状态
请求体描述内容类型与长度
缓存控制与条件请求决定能否复用缓存与是否需要回源
来源类跨域控制与来源统计

排查要点

  • 请求头被中间设备改写是常见现象,排查时要对比客户端发出与服务端收到两份内容
  • 新版本协议中字段名统一小写并压缩传输,不要按旧版本的写法去核对
  • 凭证类头部必须在日志里脱敏,检查日志格式时优先确认这一点
字段名在旧版本里不区分大小写,但在新版本协议中必须全部小写,且不能随意增删。用工具对比不同协议的请求时,头部数量与形态都会变化,这是正常现象而不是配置错误。
同名字段出现多次时,取值结果由具体字段的规范决定,多数情况下不应简单拼接。手工构造请求时重复添加同一字段,会让服务端拿到与预期不同的值。

易错点

  • 只核对客户端发出的头部,忽略了网关可能改写或追加的字段
  • 把凭证类头部按原样写进访问日志,凭证长期滞留在日志系统中
  • 在新版本协议下按旧版写法核对字段名,误判为头部缺失
  • 手工构造请求时重复添加同名字段,服务端取值与预期不符

数据来源与参考

  • RFC 9110 §5/§6(字段与元数据)
  • RFC 9113 §8.2(HTTP/2 字段规则)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌