202 Accepted

Żą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 Accepted

Jak go wysłać

Node.js / Expressres.status(202).end()
Python / Flaskreturn '', 202
nginxreturn 202;

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP