La solicitud se aceptó, pero aún no se ha procesado.
Cuándo usarlo
Tareas en cola o en segundo plano. Devuelve una forma de consultar el progreso.
A tener en cuenta
202 no promete nada sobre el resultado: la tarea todavía puede fallar más tarde. Devuelve una URL de estado en Location o en el cuerpo, como /jobs/123, y opcionalmente Retry-After para sugerir un intervalo de sondeo. El endpoint de estado responde 200 con un estado como queued, running, done o failed, y cuando la tarea termina puede enlazar al resultado o redirigir a él con 303.
Los webhooks son la alternativa push al sondeo. Haz que el trabajo sea idempotente, porque un cliente que nunca recibe el 202, tras un timeout o una conexión cortada, volverá a enviarlo. Pon la tarea en una cola duradera, como SQS, un worker respaldado por Redis o una tabla de tareas, antes de responder: las plataformas serverless como AWS Lambda congelan el proceso en cuanto se envía la respuesta, así que el trabajo en segundo plano dentro del proceso puede no ejecutarse nunca.
Éxito (2xx)
Los códigos 2xx indican éxito: el servidor recibió, entendió y aceptó la solicitud.
Cómo se ve
HTTP/1.1 202 AcceptedCómo enviarlo
| Node.js / Express | res.status(202).end() |
|---|---|
| Python / Flask | return '', 202 |
| nginx | return 202; |
Cómo comprobarlo
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/