Updated on 2025-07-15 GMT+08:00

HTTP Status Codes

Table 1 HTTP status codes

Status Code

Message

Description

100

Continue

The initial part of a request has been received and has not yet been rejected by the server.

101

Switching Protocols

The server understands and is willing to comply with the client's request, via the Upgrade header field, for a change in the application protocol being used on this connection.

102

Processing

This status code is an interim response used to inform the client that the server has accepted the complete request, but has not yet completed it. This status code SHOULD only be sent when the server has a reasonable expectation that the request will take significant time to complete.

103

Early Hints

This status code indicates to the client that the server is likely to send a final response with the header fields included in the informational response.

200

OK

The request has succeeded.

201

Created

The request has been fulfilled and has resulted in one or more new resources being created.

202

Accepted

The request has been accepted for processing, but the processing has not been completed.

203

Non-Authoritative Information

The request was successful but the enclosed content has been modified from that of the origin server's 200 (OK) response by a transforming proxy.

204

No Content

The server has successfully fulfilled the request and that there is no additional content to send in the response content.

205

Reset Content

The server has fulfilled the request and desires that the user agent reset the "document view", which caused the request to be sent, to its original state as received from the origin server.

206

Partial Content

The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.

207

Multi-Status

This status code provides status for multiple independent operations.

208

Already Reported

This status code can be used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.

226

IM Used

The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.

300

Multiple Choices

The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is being provided so that the user (or user agent) can select a preferred representation by redirecting its request to one or more of those identifiers.

301

Moved Permanently

The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.

302

Found

The target resource resides temporarily under a different URI.

303

See Other

The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request.

304

Not Modified

A conditional GET or HEAD request has been received and would have resulted in a 200 (OK) response if it were not for the fact that the condition evaluated to false.

305

Use Proxy

The 305 (Use Proxy) status code was defined in a previous version of this specification and is now deprecated.

307

Temporary Redirect

The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI.

308

Permanent Redirect

The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.

400

Bad Request

The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

401

Unauthorized

The request has not been applied because it lacks valid authentication credentials for the target resource.

402

Payment Required

The status code is reserved for future use.

403

Forbidden

The server understood the request but refuses to fulfill it. A server that wishes to make public why the request has been forbidden can describe that reason in the response content (if any).

404

Not Found

The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

405

Method Not Allowed

The method received in the request-line is known by the origin server but not supported by the target resource.

406

Not Acceptable

The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.

407

Proxy Authentication Required

This status code is similar to 401 (Unauthorized), but it indicates that the client needs to authenticate itself in order to use a proxy for this request.

408

Request Timeout

The server did not receive a complete request message within the time that it was prepared to wait.

409

Conflict

The request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request.

410

Gone

The target resource is no longer available at the origin server and that this condition is likely to be permanent. If the origin server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) ought to be used instead.

411

Length Required

The server refuses to accept the request without a defined Content-Length.

412

Precondition Failed

One or more conditions given in the request header fields evaluated to false when tested on the server.

413

Content Too Large

The server is refusing to process a request because the request content is larger than the server is willing or able to process.

414

URI Too Long

The server is refusing to service the request because the target URI is longer than the server is willing to interpret.

415

Unsupported Media Type

The origin server is refusing to service the request because the content is in a format not supported by this method on the target resource.

416

Range Not Satisfiable

The set of ranges in the request's Range header field has been rejected either because none of the requested ranges are satisfiable or because the client has requested an excessive number of small or overlapping ranges (a potential denial of service attack).

417

Expectation Failed

The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.

421

Misdirected Request

The request was directed at a server that is unable or unwilling to produce an authoritative response for the target URI.

422

Unprocessable Content

The server understands the content type of the request content (hence a 415 (Unsupported Media Type) status code is inappropriate), and the syntax of the request content is correct, but it was unable to process the contained instructions.

423

Locked

The source or destination resource of a method is locked.

424

Failed Dependency

The method could not be performed on the resource because the requested action depended on another action and that action failed.

425

Too Early

The server is unwilling to risk processing a request that might be replayed.

426

Upgrade Required

The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.

428

Precondition Required

The origin server requires the request to be conditional.

429

Too Many Requests

The user has sent too many requests in a given amount of time ("rate limiting").

431

Request Header Fields Too Large

The server is unwilling to process the request because its header fields are too large.

451

Unavailable For Legal Reasons

The server is denying access to the resource as a consequence of a legal demand.

500

Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.

501

Not Implemented

The server does not support the functionality required to fulfill the request.

502

Bad Gateway

The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.

503

Service Unavailable

The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.

504

Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request.

505

HTTP Version Not Supported

The server does not support, or refuses to support, the major version of HTTP that was used in the request message.

506

Variant Also Negotiates

The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.

507

Insufficient Storage

The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.

508

Loop Detected

The server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.

511

Network Authentication Required

The client needs to authenticate to gain network access.