HTTP

HTTP 202 Accepted vs 406 Not Acceptable

HTTP 202 (Accepted) is a 2xx Success response, while 406 (Not Acceptable) 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, 406 means that the server cannot produce a response matching the Accept headers sent by the client.

描述

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 server cannot produce a response matching the Accept headers sent by the client.

何时出现

When requesting a content type the server doesn't support (e.g., Accept: application/xml when only JSON is available).

如何修复

Adjust the Accept header to a format the server supports.

主要区别

1.

202 is a 2xx Success response, while 406 is a 4xx Client Error response.

2.

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.

3.

HTTP 406: The server cannot produce a response matching the Accept headers sent by the client.

4.

You encounter 202 when for async operations like batch jobs, email sending, or background tasks that take time to complete.

5.

You encounter 406 when when requesting a content type the server doesn't support (e.g., Accept: application/xml when only JSON is available).

何时使用哪个

For 202 (Accepted): Poll the provided status URL or wait for a callback/webhook. For 406 (Not Acceptable): Adjust the Accept header to a format the server supports.

了解更多