HTTP 202 Accepted vs 409 Conflict
HTTP 202 (Accepted) is a 2xx Success response, while 409 (Conflict) is a 4xx Client Error response. 202 indicates that the request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon. In contrast, 409 means that the request conflicts with the current state of the server. Often due to concurrent modification or business rule violations.
Описание
The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon.
Когда вы это видите
For async operations like batch jobs, email sending, or background tasks that take time to complete.
Как исправить
Poll the provided status URL or wait for a callback/webhook.
Описание
The request conflicts with the current state of the server. Often due to concurrent modification or business rule violations.
Когда вы это видите
When trying to create a resource that already exists, or updating a resource that was modified by another request.
Как исправить
Refresh the resource state, resolve conflicts, and retry. Use ETags for optimistic concurrency.
Ключевые различия
202 is a 2xx Success response, while 409 is a 4xx Client Error response.
HTTP 202: The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon.
HTTP 409: The request conflicts with the current state of the server. Often due to concurrent modification or business rule violations.
You encounter 202 when for async operations like batch jobs, email sending, or background tasks that take time to complete.
You encounter 409 when when trying to create a resource that already exists, or updating a resource that was modified by another request.
Когда что использовать
For 202 (Accepted): Poll the provided status URL or wait for a callback/webhook. For 409 (Conflict): Refresh the resource state, resolve conflicts, and retry. Use ETags for optimistic concurrency.