HTTP Status Codes Explained
HTTP Status Codes are used by webservers to communicate the status of a request to the client. Here are all of them.
1xx: Informational
These status codes are temporary responses indicating that the request has been received and is being processed.
- 100
Continue
The server has received the request headers and the client should proceed to send the request body.
- 101
Switching Protocols
The requester has asked the server to switch protocols and the server has agreed to do so.
- 102
Processing
The server has received and is processing the request, but no response is available yet.
- 103
Early Hints
Used to return some response headers before final HTTP message.
2xx: Success
These status codes indicate that the client's request was successfully received, understood, and accepted.
- 200
OK
The request was successful.
- 201
Created
The request was successful and a new resource was created.
- 202
Accepted
The request has been accepted for processing, but the processing has not been completed.
- 203
Non-Authoritative Information
The returned metadata is not exactly the same as is available from the origin server.
- 204
No Content
The server successfully processed the request but is not returning any content.
- 205
Reset Content
Tells the user agent to reset the document which sent this request.
- 206
Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
- 207
Multi-Status
A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.
- 208
Already Reported
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.
3xx: Redirection
These status codes indicate that further action needs to be taken by the user agent to fulfill the request.
- 300
Multiple Choices
Indicates multiple options for the resource from which the client may choose.
- 301
Moved Permanently
The requested resource has been permanently moved to a new URL.
- 302
Found
The requested resource has been temporarily moved to a different URL.
- 303
See Other
The response to the request can be found under another URI using a GET method.
- 304
Not Modified
The client's cached version of the requested resource is up to date.
- 305
Use Proxy
The requested resource must be accessed through the proxy given by the Location field.
- 307
Temporary Redirect
The requested resource is temporarily available at a different URL, but future requests should still use the original URL.
- 308
Permanent Redirect
The request and all future requests should be repeated using another URI.
4xx: Client Errors
These status codes are intended for situations in which the client seems to have erred.
- 400
Bad Request
The server cannot process the request due to a client error.
- 401
Unauthorized
The request requires user authentication.
- 402
Payment Required
Reserved for future use.
- 403
Forbidden
The server understood the request but refuses to authorize it.
- 404
Not Found
The requested resource could not be found on the server.
- 405
Method Not Allowed
The method specified in the request is not allowed for the resource.
- 406
Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.
- 407
Proxy Authentication Required
The client must first authenticate itself with the proxy.
- 408
Request Timeout
The server timed out waiting for the request.
- 409
Conflict
Indicates that the request could not be processed because of conflict in the current state of the resource.
- 410
Gone
Indicates that the resource requested is no longer available and will not be available again.
- 411
Length Required
The request did not specify the length of its content, which is required by the requested resource.
- 412
Precondition Failed
The server does not meet one of the preconditions that the requester put on the request.
- 413
Payload Too Large
The request is larger than the server is willing or able to process.
- 414
URI Too Long
The URI provided was too long for the server to process.
- 415
Unsupported Media Type
The request entity has a media type which the server or resource does not support.
- 416
Range Not Satisfiable
The client has asked for a portion of the file, but the server cannot supply that portion.
- 417
Expectation Failed
The server cannot meet the requirements of the Expect request-header field.
- 418
I'm a teapot
Any attempt to brew coffee with a teapot should result in the error code '418 I'm a teapot'.
- 421
Misdirected Request
The request was directed at a server that is not able to produce a response.
- 422
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
- 423
Locked
The resource that is being accessed is locked.
- 424
Failed Dependency
The request failed because it depended on another request and that request failed.
- 425
Too Early
Indicates that the server is unwilling to risk processing a request that might be replayed.
- 426
Upgrade Required
The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.
- 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.
- 431
Request Header Fields Too Large
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
- 451
Unavailable For Legal Reasons
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.
5xx: Server Errors
These status codes indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request.
- 500
Internal Server Error
A generic error message when an unexpected condition was encountered by the server.
- 501
Not Implemented
The server does not support the functionality required to fulfill the request.
- 502
Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
- 503
Service Unavailable
The server is currently unable to handle the request due to temporary overloading or maintenance.
- 504
Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
- 505
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
- 506
Variant Also Negotiates
Transparent content negotiation for the request results in a circular reference.
- 507
Insufficient Storage
The server is unable to store the representation needed to complete the request.
- 508
Loop Detected
The server detected an infinite loop while processing the request.
- 510
Not Extended
Further extensions to the request are required for the server to fulfill it.
- 511
Network Authentication Required
The client needs to authenticate to gain network access.
This was a list of the most important status codes. For more information, we recommend checking out the Wikipedia HTTP status codes page and the MDN Web Docs documentation.