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,客户端直接用缓存,节省带宽。