通用/请求头常见的有:

  • Host:目标主机,HTTP/1.1 必需,虚拟主机靠它区分站点
  • User-Agent:客户端标识
  • Accept / Accept-Encoding / Accept-Language:声明可接受的类型、压缩(gzip、br)、语言
  • Content-Type / Content-Length:请求体的类型与长度
  • Cookie:携带会话凭证;Authorization:认证信息(如 Bearer token)
  • Referer:来源页面;Origin:跨域请求来源
  • Cache-Control / If-Modified-Since / If-None-Match:缓存控制与协商缓存条件
  • Connection:如 keep-alive

常见响应头

  • Content-Type / Content-Encoding:返回内容类型与压缩方式
  • Set-Cookie:服务端写入 Cookie(可带 HttpOnly、Secure、SameSite)
  • Cache-Control / ETag / Last-Modified / Expires:缓存策略
  • Location:重定向目标;Server:服务端软件
  • Access-Control-Allow-Origin 等 CORS 相关头
  • Content-Security-Policy / X-Frame-Options:安全策略
  • Retry-After:配合 503/429 提示重试时机

展开解析:HTTP/1.1 中头部以明文键值对逐行传输,每个请求重复携带,开销可观,HTTP/2 的 HPACK 压缩正是为此而生;自定义业务头惯例加前缀(历史上用 X-,现规范已不推荐)。头部字段也是安全攻防的重灾区:Host 头攻击、CRLF 注入、CORS 配置错误都很常见。

易错点:HttpOnly Cookie 无法被 JS 读取(防 XSS 窃取);Host 与请求行的目标地址不是一回事。

追问方向:强缓存与协商缓存头如何配合、CORS 预检涉及哪些头。