请求头(HTTP Request Headers)含义
HTTP 请求头是客户端(如浏览器)向服务器发送 HTTP 请求时附带的一组元数据,它们提供了关于请求的额外信息,帮助服务器正确处理请求并返回适当的响应
常见的请求头
1.Accept
可接受的响应内容类型,例如application/json, text/plain, / 。这表示客户端优先 接收 JSON 格式的响应,如果服务器无法返回 JSON,客户端可以接受纯文本格式(Content-Type: text/plain
)
2.Accept-Encoding
可接受的内容编码(压缩方式),如:Accept-Encoding: gzip, deflate, br
3.Authorization
身份验证凭证,比如前端存放token
4.Cookie
向服务器发送客户端存储的 Cookie 数据,格式 :Cookie: name1=value1; name2=value2
(多个 Cookie 用分号和空格分隔)。Cookie 是服务器通过 Set-Cookie
响应头存储在客户端(如浏览器)的小型数据片段,每次请求时,客户端会自动将匹配当前域名和路径的 Cookie 附加到请求头中,用于身份验证(如会话 ID)、个性化设置(如主题)等
5.Host
请求的目标主机和端口号
6.Referer
告诉服务器当前请求是从哪个页面链接发起的,可用于服务器分析流量来源
7.User-Agent
向服务器标识客户端软件的类型、版本和操作系统等信息,比如浏览器类型、版本
常见响应头
1.access-control-allow-credentials
yaml
Access-Control-Allow-Credentials: true | false
控制是否允许浏览器在跨域请求(CORS)中发送凭据(如 Cookies、HTTP 认证信息)
2.Access-Control-Allow-Origin
允许跨域请求的来源,如果配置的值为*,表示所有均可访问
3.Connection
控制当前连接是否保持活跃(HTTP 持久连接)
js
Connection: keep-alive
Connection: close
4.Content-Type
指定响应体的数据类型和字符编码
js
Content-Type: text/html; charset=UTF-8
5.Content-Type
服务器响应时间
js
date: Wed, 09 Jul 2025 07:15:48 GMT
5.Server
标识服务器软件
js
Server: nginx/1.18.0
6.Set-Cookie
服务器要求客户端存储 Cookie,对比请求头的Cookie
js
Set-Cookie: sessionId=abc123; Path=/; Secure; HttpOnly; SameSite=Lax
7. Cache-Control
控制缓存行为(如是否缓存、缓存时间)
如果没有 Cache-Control
,浏览器通常认为响应是动态的,不会缓存,每次都会向服务器发起请求
js
Cache-Control: max-age=3600, public
常见指令:
markdown
- `public`:允许任何缓存(如 CDN、浏览器)存储响应。
- `private`:仅允许用户浏览器缓存(如个人数据)。
- `no-cache`:缓存前必须向服务器验证(即使未过期)。
- `no-store`:禁止缓存(用于敏感数据)。
- `max-age=<秒>`:缓存有效期(如 `max-age=3600` 表示 1 小时)。