202 Accepted 表示服务器已接受请求,但尚未处理完成,甚至可能根本不会完成。HTTP 无法在事后报告后台任务的结果,因此 202 有意不做任何承诺。
它用于批处理任务、导出、视频转码、消息队列以及其他在后台运行的工作。一个好的 202 响应会告诉客户端如何跟进:提供一个可以查询状态的 URL(放在响应体或 Location 响应头中),并估计任务何时完成,有时会附带 Retry-After。
客户端会把 202 视为成功。例如,Webhook 发送方会像对待任何 2xx 状态码一样,把它当作事件已被接收的确认。
响应示例
HTTP
HTTP/1.1 202 Accepted
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://api.example.com/v1/exports/3f9c
Retry-After: 30
Content-Type: application/json
Content-Length: 31
{"id":"3f9c","status":"queued"} SEO 与重定向检测
面向搜索引擎的页面不应返回 202。爬虫会把它视为成功,但通常没有可供索引的内容。统计信标和跟踪端点经常返回 202 或 204,这没有问题,因为它们不会被当作页面抓取。
常见原因与使用场景
- API 将一个长时间运行的任务加入队列,并返回一个可轮询其状态的 URL。
- Webhook 接收方立即确认事件,稍后再处理。
- 日志或统计端点接收了数据,但不确认数据是否已存储。