HTTP Status Codes Reference
Complete reference guide for HTTP status codes with descriptions and common use cases.
1xx - Informational
The server has received the request headers and the client should proceed to send the request body.
The requester has asked the server to switch protocols and the server has agreed to do so.
The server has received and is processing the request, but no response is available yet.
Used to return some response headers before final HTTP message.
2xx - Success
The request has succeeded. The meaning depends on the HTTP method used.
The request has been fulfilled and a new resource has been created.
The request has been accepted for processing, but the processing has not been completed.
The returned meta-information is from a cached copy instead of the origin server.
The server successfully processed the request but is not returning any content.
The server successfully processed the request and is asking the client to reset the document view.
The server is delivering only part of the resource due to a range header sent by the client.
3xx - Redirection
The request has more than one possible response. The user or user agent should choose one.
The URL of the requested resource has been changed permanently. The new URL is given in the response.
The URI of requested resource has been changed temporarily. Further changes might be made to the URI.
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
This is used for caching purposes. It tells the client that the response has not been modified.
The server sends this response to direct the client to get the requested resource at another URI with same method.
The resource is now permanently located at another URI. Similar to 301 but method must not change.
4xx - Client Errors
The server could not understand the request due to invalid syntax.
The client must authenticate itself to get the requested response.
Reserved for future use. Originally intended for digital payment systems.
The client does not have access rights to the content. Unlike 401, the identity is known.
The server can not find the requested resource. The URL is not recognized.
The request method is known by the server but is not supported by the target resource.
The server cannot produce a response matching the list of acceptable values.
The client must first authenticate itself with the proxy.
The server would like to shut down this unused connection.
The request conflicts with the current state of the server.
The content has been permanently deleted from server, with no forwarding address.
Server rejected the request because the Content-Length header field is not defined.
The client has indicated preconditions in its headers which the server does not meet.
Request entity is larger than limits defined by server.
The URI requested by the client is longer than the server is willing to interpret.
The media format of the requested data is not supported by the server.
The range specified by the Range header field in the request cannot be fulfilled.
The expectation indicated by the Expect request header field cannot be met by the server.
The server refuses the attempt to brew coffee with a teapot. (April Fools joke from 1998)
The request was well-formed but was unable to be followed due to semantic errors.
The resource that is being accessed is locked.
The request failed because it depended on another request that failed.
The server is unwilling to risk processing a request that might be replayed.
The server refuses to perform the request using the current protocol.
The origin server requires the request to be conditional.
The user has sent too many requests in a given amount of time (rate limiting).
The server is unwilling to process the request because its header fields are too large.
The user agent requested a resource that cannot legally be provided.
5xx - Server Errors
The server has encountered a situation it does not know how to handle.
The request method is not supported by the server and cannot be handled.
The server, while working as a gateway, got an invalid response from the upstream server.
The server is not ready to handle the request. Common causes are maintenance or overload.
The server is acting as a gateway and cannot get a response in time from the upstream server.
The HTTP version used in the request is not supported by the server.
The server has an internal configuration error.
The server is unable to store the representation needed to complete the request.
The server detected an infinite loop while processing the request.
Further extensions to the request are required for the server to fulfill it.
The client needs to authenticate to gain network access.