HTTP

HTTP 201 Created vs 303 See Other

HTTP 201 (Created) is a 2xx Success response, while 303 (See Other) is a 3xx Redirection 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, 303 means that the server is redirecting to a different resource using GET, typically after a POST operation (Post/Redirect/Get pattern).

描述

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.

描述

The server is redirecting to a different resource using GET, typically after a POST operation (Post/Redirect/Get pattern).

何时出现

After form submissions to prevent resubmission on browser refresh.

如何修复

Follow the Location header with a GET request. This is intentional — part of the PRG pattern.

主要区别

1.

201 is a 2xx Success response, while 303 is a 3xx Redirection 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 303: The server is redirecting to a different resource using GET, typically after a POST operation (Post/Redirect/Get pattern).

4.

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

5.

You encounter 303 when after form submissions to prevent resubmission on browser refresh.

何时使用哪个

For 201 (Created): No fix needed. Check the Location header for the URL of the new resource. For 303 (See Other): Follow the Location header with a GET request. This is intentional — part of the PRG pattern.

了解更多