Żądanie zostało przyjęte, ale jeszcze nie zostało przetworzone.
Kiedy go używać
Zadania w kolejce lub w tle. Zwróć sposób na sprawdzenie postępu.
Warto wiedzieć
202 nic nie obiecuje co do wyniku: zadanie może się jeszcze nie udać. Zwróć URL statusu w nagłówku Location lub w treści, np. /jobs/123, i opcjonalnie Retry-After, by zasugerować odstęp między odpytaniami. Endpoint statusu odpowiada 200 ze stanem, takim jak queued, running, done lub failed, a gdy zadanie się zakończy, może podać link do wyniku albo przekierować do niego kodem 303.
Webhooki to alternatywa dla odpytywania, oparta na wypychaniu (push). Zadbaj o idempotentność przetwarzania, bo klient, który nigdy nie dostanie 202, np. po timeoucie lub zerwaniu połączenia, wyśle żądanie ponownie. Zanim odpowiesz, umieść zadanie w trwałej kolejce, takiej jak SQS, worker oparty na Redisie lub tabela zadań: platformy serverless, takie jak AWS Lambda, zamrażają proces po wysłaniu odpowiedzi, więc praca w tle w tym samym procesie może się nigdy nie wykonać.
Sukces (2xx)
Kody 2xx oznaczają sukces: serwer odebrał, zrozumiał i przyjął żądanie.
Jak to wygląda
HTTP/1.1 202 AcceptedJak go wysłać
| Node.js / Express | res.status(202).end() |
|---|---|
| Python / Flask | return '', 202 |
| nginx | return 202; |
Jak go sprawdzić
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/