在 HTTP 请求 / 响应中,Headers(请求头 / 响应头)是传递额外信息的键值对集合 ,用于描述请求 / 响应的属性、客户端 / 服务器的能力等
分类
- 请求头(客户端发给服务器)
- 响应头(服务器返回给客户端)
- 通用头、实体头(HTTP/2 后部分被整合)
常用请求头(Request Headers)
| 头字段 | 作用说明 | 示例 |
|---|---|---|
User-Agent |
标识客户端(浏览器 / 爬虫 / APP)的类型、版本等,用于服务器识别设备 | Mozilla/5.0 (Windows NT 10.0; ...) |
Accept |
告诉服务器客户端能接收的内容类型(如 HTML、JSON) | text/html,application/json |
Accept-Encoding |
客户端支持的压缩格式(如 gzip),用于减少传输体积 | gzip, deflate |
Accept-Language |
客户端偏好的语言(如中文、英文),用于服务器返回对应语言的内容 | zh-CN,zh;q=0.9,en;q=0.8 |
Referer |
标识当前请求的来源页面(防盗链、统计来源常用) | https://www.baidu.com/ |
Cookie |
客户端存储的 Cookie 信息,用于身份验证、会话保持 | sessionid=abc123; user_id=456 |
Authorization |
身份验证信息(如 Token、Basic Auth),用于权限验证 | Bearer eyJhbGciOiJIUzI1NiIs... |
Content-Type |
(POST/PUT 请求)请求体的数据格式(如表单、JSON) | application/json; charset=utf-8 |
Content-Length |
(POST/PUT 请求)请求体的字节长度 | 128 |
Host |
目标服务器的域名 / IP,用于虚拟主机识别(HTTP/1.1 必传) | www.example.com |
常用响应头(Response Headers)
| 头字段 | 作用说明 | 示例 |
|---|---|---|
Status/HTTP/1.1 |
响应状态码(表示请求结果,如 200 成功、404 不存在) | 200 OK |
Content-Type |
响应体的数据格式及编码 | text/html; charset=utf-8 |
Content-Encoding |
响应体使用的压缩格式(如 gzip) | gzip |
Content-Length |
响应体的字节长度 | 2048 |
Set-Cookie |
服务器向客户端设置 Cookie(用于会话、登录状态) | sessionid=abc123; Path=/; HttpOnly |
Cache-Control |
缓存策略(如max-age=3600表示缓存 1 小时) |
public, max-age=3600 |
Expires |
缓存过期时间(HTTP/1.0,优先级低于Cache-Control) |
Wed, 20 Dec 2025 12:00:00 GMT |
Location |
重定向目标地址(配合 3xx 状态码使用) | https://www.new-example.com/ |
Server |
服务器的软件类型(如 Nginx、Apache) | nginx/1.21.0 |
Access-Control-Allow-Origin |
跨域资源共享(CORS)的允许来源(解决前端跨域问题) | *(允许所有域名)或https://a.com |
关键作用
- 身份验证:通过
Cookie、Authorization传递身份信息 - 内容协商:通过
Accept系列头协商响应的格式、语言、编码 - 缓存控制:通过
Cache-Control等头减少重复请求,提升性能 - 跨域控制:通过 CORS 相关头(如
Access-Control-Allow-Origin)实现跨域资源访问