# HTTP Headers 总览

URL: https://caijiao.org/reference/http/headers
Source: docs/reference/http/headers.md
Description: HTTP Headers Reference，整理 Accept、Authorization、Cache-Control、Content-Type、Cookie、ETag、Origin、Referer、User-Agent、X-Forwarded-For 等常见请求头和响应头。

HTTP Headers 用于在请求和响应中传递元信息，例如内容类型、缓存策略、认证信息、来源、语言、Cookie 和代理链路。

## 常见请求头

| Header | 说明 | 常见场景 |
| --- | --- | --- |
| `Accept` | 客户端希望接收的内容类型 | 请求 JSON、HTML、图片 |
| `Authorization` | 认证信息 | Bearer Token、Basic Auth |
| `Content-Type` | 请求体类型 | JSON POST、表单提交、文件上传 |
| `Cookie` | 浏览器携带的 Cookie | 会话、登录状态 |
| `Origin` | 请求来源源站 | CORS 判断 |
| `Referer` | 发起请求的页面地址 | 统计、风控、来源分析 |
| `User-Agent` | 客户端信息 | 浏览器识别、日志排查 |

## 常见响应头

| Header | 说明 | 常见场景 |
| --- | --- | --- |
| `Content-Type` | 响应体媒体类型 | HTML、JSON、CSS、JS |
| `Cache-Control` | 缓存策略 | 静态资源、HTML 禁缓存 |
| `ETag` | 资源版本标识 | 协商缓存 |
| `Last-Modified` | 资源最后修改时间 | 协商缓存 |
| `Location` | 重定向目标 | 301、302、307、308 |
| `Set-Cookie` | 设置 Cookie | 登录态、偏好设置 |
| `Access-Control-Allow-Origin` | 允许跨域来源 | CORS 响应 |
| `X-Forwarded-For` | 代理转发的客户端 IP | 反向代理、日志 |

## 请求示例

```http
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token

{"name":"caijiao"}
```

## 响应示例

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-store

{"ok":true}
```

## 常见错误

- JSON 请求忘记设置 `Content-Type: application/json`，服务端无法正确解析。
- 文件上传手动设置 `multipart/form-data`，导致 boundary 缺失。
- CORS 响应缺少 `Access-Control-Allow-Origin`，浏览器拦截前端读取。
- 经过代理后没有正确处理 `X-Forwarded-For`，日志里只看到代理 IP。

## 相关内容

- [HTTP Reference](/reference/http/)
- [Content-Type](/reference/http/content-type)
- [Cache-Control](/reference/http/cache-control)
- [CORS](/reference/http/cors)
- [Fetch 如何发送 JSON POST 请求](/how-to/javascript/fetch-json-post)
- [Nginx 配置 Reference](/reference/nginx/)
- [MDN HTTP messages](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Messages)
