HTTP 头部对照表

HTTP 头部(Header)是请求与响应中携带的键值对元数据。本表列出开发中最高频的请求头与响应头,含类型与中文说明,调试接口时快速查阅。

头部类型说明
Accept请求客户端可处理的媒体类型(如 application/json, text/html)
Accept-Encoding请求可接受的压缩编码(gzip、br、deflate)
Accept-Language请求可接受的自然语言与权重(如 zh-CN,en;q=0.8)
Authorization请求认证凭证,如 Bearer <token> 或 Basic <base64>
Cache-Control通用缓存指令(no-cache、max-age=3600、private)
Cookie请求发送服务端之前通过 Set-Cookie 下发的 cookie
Content-Type通用请求体或响应体的媒体类型(如 application/json; charset=utf-8)
Host请求目标主机名与端口,HTTP/1.1 必需
Origin请求跨域请求的来源域,用于 CORS 校验
Referer请求发起请求的页面 URL(历史拼写保留为 Referer)
User-Agent请求客户端软件标识(浏览器 / 爬虫 / 库名称与版本)
If-None-Match请求条件请求,携带上次 ETag 做缓存校验
If-Modified-Since请求条件请求,仅当资源在此时间后修改才返回
Access-Control-Allow-Origin响应CORS 允许的来源(* 或具体域)
Content-Length响应响应体的字节长度
Content-Encoding响应响应体应用的压缩编码(gzip、br)
Set-Cookie响应服务端下发 cookie,可带 HttpOnly/Secure/SameSite
ETag响应资源的版本标识,用于条件请求缓存校验
Last-Modified响应资源最后修改时间
Location响应3xx 重定向的目标 URL
Expires响应响应过期的绝对时间(已被 Cache-Control 取代)
Server响应服务器软件名称与版本
WWW-Authenticate响应401 时返回的认证挑战方式(如 Basic)
Retry-After响应503/429 时建议的重试等待秒数
Strict-Transport-Security响应HSTS,强制后续请求使用 HTTPS
Connection通用连接管理(keep-alive 或 close)
Date通用消息生成的日期时间(GMT)

常见问题

请求头和响应头有什么区别?

请求头由客户端发送,携带 Accept、Authorization、Cookie 等告诉服务器"我想要什么、我是谁";响应头由服务器返回,携带 Content-Type、Set-Cookie、Cache-Control 等,告诉客户端"我给了什么、怎么处理"。部分头部(如 Content-Type、Cache-Control)在两边都能出现。

Cache-Control 常用指令有哪些?

常见有 no-store(不缓存)、no-cache(需校验)、max-age=秒(最大存活)、public/private(是否可被代理缓存)、must-revalidate(过期必须回源校验)。

CORS 相关的头部有哪些?

请求侧常用 Origin;响应侧常用 Access-Control-Allow-Origin(允许来源)、Access-Control-Allow-Methods(允许方法)、Access-Control-Allow-Headers(允许头部)、Access-Control-Allow-Credentials(是否带凭证)。

ETag 和 Last-Modified 如何配合缓存?

二者都是验证器。客户端首次请求得到 ETag/Last-Modified,后续请求通过 If-None-Match/If-Modified-Since 做条件请求;若资源未变化,服务器返回 304 Not Modified,客户端直接用缓存,节省带宽。