常见 HTTP 头字段参考

HTTP
HTTP
网络
请求头
响应头

HTTP 请求头、响应头、通用与实体头字段速查表,含 Content-Type、Cache-Control、CORS、Cookie 与安全响应头的取值说明和常见踩坑点。

常见 HTTP 头字段参考

HTTP 头字段是「键: 值」形式的元数据,Content-Type、Cache-Control 这类不区分方向的称为通用头 / 实体头,其余按出现在请求还是响应中分为请求头与响应头。字段名大小写不敏感,但习惯上使用 Kebab-Case。

一、通用与实体头

头字段示例说明
Content-Typeapplication/json; charset=utf-8消息体的媒体类型与字符集,必须与实际内容一致,否则后端解析失败(如 415)
Content-Length1024消息体字节数,与分块传输 Transfer-Encoding: chunked 互斥
Content-Encodinggzip / br消息体使用的压缩编码,br 是 Brotli,压缩率通常优于 gzip
Content-Languagezh-CN消息体面向的自然语言
Content-Location/posts/1消息体对应的资源地址
Cache-Controlmax-age=3600, no-store缓存策略,优先级高于 Expires,请求与响应都可使用
Connectionkeep-alive / close控制连接是否复用;HTTP/2 之后该字段被禁用
DateWed, 21 Oct 2026 07:28:00 GMT消息生成时间,格式必须是 IMF-fixdate
Via1.1 varnish记录消息经过的代理链路,便于排查多级代理
TrailerExpires声明分块传输中位于末尾的头部字段名

二、请求头

头字段示例说明
Hostwww.example.com:443目标主机与端口,HTTP/1.1 起为必填,是虚拟主机与 SNI 路由的依据
User-AgentMozilla/5.0 ...客户端标识,可被伪造,不要用于安全判断
Accepttext/html,application/json;q=0.9期望的响应媒体类型,q 表示权重
Accept-Encodinggzip, deflate, br客户端支持的压缩编码
Accept-Languagezh-CN,zh;q=0.9,en;q=0.8期望的自然语言,可用于内容协商
AuthorizationBearer <token>携带认证凭证,常见方案有 Basic、Bearer、Digest
Cookiesid=abc; theme=dark浏览器自动携带的 Cookie,多个键值以 ; 分隔
Refererhttps://example.com/list来源页面地址(注意拼写就是少一个 r),也用作防盗链
Originhttps://example.com请求来源的协议 + 主机 + 端口,CORS 与 CSRF 校验依赖它(不含路径)
Rangebytes=0-1023请求资源的某个区间,返回 206,用于断点续传与视频拖动
If-Modified-SinceWed, 21 Oct 2026 07:28:00 GMT配合 Last-Modified 做协商缓存,未变化返回 304
If-None-Match"33a64df5"配合 ETag 做协商缓存,优先级高于 If-Modified-Since
If-Match"33a64df5"乐观锁:ETag 不一致时返回 412,常用于防止并发覆盖
X-Requested-WithXMLHttpRequest传统上用于识别 Ajax 请求,现多由 CORS 取代
X-Forwarded-For203.0.113.7, 10.0.0.1记录原始客户端 IP 与代理链,必须由可信代理设置,否则可被伪造
X-Forwarded-Protohttps记录原始请求协议,用于在代理后拼装正确的重定向地址
X-Real-IP203.0.113.7Nginx 常用,仅保存直接前一个客户端 IP
Priorityu=0, i声明资源的加载优先级,配合 Link: rel=preload 使用
Sec-Fetch-Sitesame-origin现代浏览器标注请求与目标站点的关系,可用于轻量 CSRF 防护
Sec-CH-UA"Chromium";v="131"客户端提示(Client Hints),需服务端通过 Accept-CH 声明后浏览器才会发送

三、响应头

头字段示例说明
Location/posts/1重定向目标或新创建资源地址,配合 201、301、302、307、308 使用
Set-Cookiesid=abc; HttpOnly; Secure; SameSite=Lax下发 Cookie;属性建议同时带上 HttpOnly、Secure、SameSite
ETag"33a64df5"资源版本标识,配合 If-None-Match 做协商缓存
Last-ModifiedWed, 21 Oct 2026 07:28:00 GMT资源最后修改时间,精度为秒
ExpiresWed, 21 Oct 2026 07:28:00 GMT绝对过期时间,被 Cache-Control: max-age 取代
Age3600该响应在缓存中已存在的时间(秒)
Retry-After120告知客户端多久后重试,配合 429、503 使用
VaryAccept-Encoding, Origin声明缓存键应包含哪些请求头,CORS 场景务必带上 Origin
Servernginx服务端软件标识,出于安全考虑常被隐藏或改写
Link</style.css>; rel=preload; as=style资源提示,可提前预加载、预连接(配合 103 Early Hints)
Content-Dispositionattachment; filename="a.pdf"控制内容是内联展示还是下载,并指定文件名
WWW-AuthenticateBearer realm="api"与 401 搭配,说明应使用何种认证方案
Proxy-AuthenticateBasic realm="proxy"与 407 搭配,说明代理认证方案
Accept-Rangesbytes声明服务端支持范围请求,客户端才会发起 Range
Alt-Svch3=":443"; ma=86400声明可用的替代服务,常用于 HTTP/3 升级

四、安全相关响应头

这几项是线上站点体检的高频项,建议在 Nginx 或应用层统一设置。

头字段推荐值作用
Strict-Transport-Securitymax-age=31536000; includeSubDomains强制后续访问走 HTTPS,只在 HTTPS 响应中生效
Content-Security-Policydefault-src 'self'限制可加载的脚本 / 样式 / 图片来源,是 XSS 的主要缓解手段
X-Content-Type-Optionsnosniff禁止浏览器嗅探 MIME 类型,避免把文本当脚本执行
X-Frame-OptionsSAMEORIGIN防止被 iframe 嵌套,降低点击劫持风险(已被 CSP 的 frame-ancestors 部分取代)
Referrer-Policystrict-origin-when-cross-origin控制跨域跳转时携带多少来源信息
Permissions-Policygeolocation=(), camera=()按来源限制浏览器特性权限
Cross-Origin-Opener-Policysame-origin隔离窗口上下文,配合 COEP 才能启用 SharedArrayBuffer
Cross-Origin-Embedder-Policyrequire-corp要求跨域资源显式授权(CORS 或 CORP)后加载
Cross-Origin-Resource-Policysame-site控制资源可被哪些站点加载,防止被跨站盗用

五、CORS 相关响应头

跨域请求由浏览器自动发起 OPTIONS 预检,服务端需返回下列头部才能放行。

头字段示例说明
Access-Control-Allow-Originhttps://app.example.com允许的来源,通配 * 与携带凭证的请求不能同时使用
Access-Control-Allow-MethodsGET,POST,PUT,DELETE预检响应中声明允许的方法
Access-Control-Allow-HeadersContent-Type,Authorization预检响应中声明允许携带的请求头
Access-Control-Allow-Credentialstrue允许携带 Cookie 与认证头,此时 Allow-Origin 必须是具体来源
Access-Control-Expose-HeadersX-Total-Count允许前端 JS 读取的自定义响应头
Access-Control-Max-Age86400预检结果的缓存秒数,减少 OPTIONS 请求数量

六、常见踩坑点

  • Content-Type 与 Content-Length 不一致:多见于代理改写了响应体,导致前端拿到半截 JSON。
  • Cache-Control: no-store 与 no-cache 不同:前者完全不缓存,后者缓存但每次必须回源校验。
  • CORS 报错先看 Vary: Origin:缺少它时 CDN / 缓存可能把 A 站的 Allow-Origin 返回给 B 站。
  • X-Forwarded-For 可以伪造:取客户端真实 IP 时要信任最右侧由自有代理写入的那一段,或使用 X-Real-IP。
  • Set-Cookie 的 SameSite=None 必须同时加 Secure,否则浏览器会直接丢弃该 Cookie。
  • Cookie 体积有限:单条约 4KB,同域总量约 50 条,超限会触发 431。

继续阅读