HTTP

HTTP 201 Created vs 412 Precondition Failed

HTTP 201 (Created) is a 2xx Success response, while 412 (Precondition Failed) is a 4xx Client Error response. 201 indicates that the request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity. In contrast, 412 means that one or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

説明

The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.

このコードが表示される場合

After successfully creating a new user, post, order, or other resource via a REST API.

解決方法

No fix needed. Check the Location header for the URL of the new resource.

説明

One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

このコードが表示される場合

When using conditional requests with ETags and the resource has changed.

解決方法

Refresh the ETag/Last-Modified value and retry with updated preconditions.

主な違い

1.

201 is a 2xx Success response, while 412 is a 4xx Client Error response.

2.

HTTP 201: The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.

3.

HTTP 412: One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

4.

You encounter 201 when after successfully creating a new user, post, order, or other resource via a REST API.

5.

You encounter 412 when when using conditional requests with ETags and the resource has changed.

どちらをいつ使うか

For 201 (Created): No fix needed. Check the Location header for the URL of the new resource. For 412 (Precondition Failed): Refresh the ETag/Last-Modified value and retry with updated preconditions.

詳しく見る