通用/请求头常见的有:
- 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 预检涉及哪些头。