HTTP Status Codes Cheat Sheet
Create your own customizable HTTP status codes reference sheet. Select the categories you need, choose your layout, and print or download as PDF.
Select Categories
80 status codes selected
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The server is switching to a different protocol as requested by the client.
Processing
The server has received and is processing the request, but no response is available yet.
Early Hints
Used to return some response headers before final HTTP message.
OK
The request succeeded. The meaning of success depends on the HTTP method used.
Created
The request succeeded and a new resource was created as a result.
Accepted
The request has been accepted for processing, but the processing has not been completed.
Non-Authoritative Information
The request was successful but the enclosed payload has been modified by a transforming proxy from the origin server's 200 OK response.
No Content
The server successfully processed the request and is not returning any content.
Reset Content
The server successfully processed the request and is asking the client to reset the document view.
Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
Multi-Status
Conveys information about multiple resources, for situations where multiple status codes might be appropriate.
Already Reported
Used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
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.
Multiple Choices
The request has more than one possible response. The user or user agent should choose one of them.
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
Found
The URI of the requested resource has been changed temporarily.
See Other
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
Not Modified
Indicates that the resource has not been modified since the version specified in the request headers.
Use Proxy
The requested resource must be accessed through the proxy given by the Location header. Deprecated due to security concerns.
Temporary Redirect
The server sends this response to direct the client to get the requested resource at another URI with the same method.
Permanent Redirect
The resource has permanently moved to another URI, specified in the Location header. Method and body unchanged.
Bad Request
The server cannot process the request due to client error (malformed syntax, invalid request framing, etc.).
Unauthorized
The client must authenticate itself to get the requested response.
Payment Required
Reserved for future use. Originally intended for digital payment systems, but not yet standardized.
Forbidden
The client does not have access rights to the content.
Not Found
The server cannot find the requested resource. The URL is not recognized.
Method Not Allowed
The request method is known by the server but is not supported by the target resource.
Not Acceptable
The server cannot produce a response matching the list of acceptable values defined in the request's headers.
Proxy Authentication Required
The client must first authenticate itself with the proxy.
Request Timeout
The server would like to shut down this unused connection.
Conflict
The request conflicts with the current state of the server.
Gone
The content has been permanently deleted from server, with no forwarding address.
Length Required
The server refuses to accept the request without a defined Content-Length header.
Precondition Failed
The client has indicated preconditions in its headers which the server does not meet.
Payload Too Large
The request entity is larger than limits defined by server.
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the requested data is not supported by the server.
Range Not Satisfiable
The range specified by the Range header in the request cannot be fulfilled.
Expectation Failed
The expectation given in the Expect request header could not be met by the server.
I'm a Teapot
The server refuses the attempt to brew coffee with a teapot. An April Fools' joke from 1998.
Misdirected Request
The request was directed at a server that is not able to produce a response.
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
Locked
The resource that is being accessed is locked.
Failed Dependency
The request failed because it depended on another request that failed.
Too Early
The server is unwilling to risk processing a request that might be replayed.
Upgrade Required
The client should switch to a different protocol such as TLS/1.3.
Precondition Required
The origin server requires the request to be conditional to prevent lost updates.
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
Request Header Fields Too Large
The server is unwilling to process the request because its header fields are too large.
Unavailable For Legal Reasons
The user agent requested a resource that cannot legally be provided.
Internal Server Error
The server has encountered a situation it doesn't know how to handle.
Not Implemented
The request method is not supported by the server and cannot be handled.
Bad Gateway
The server was acting as a gateway and received an invalid response from the upstream server.
Service Unavailable
The server is not ready to handle the request, often due to maintenance or overloading.
Gateway Timeout
The server was acting as a gateway and could not get a response in time.
HTTP Version Not Supported
The HTTP version used in the request is not supported by the server.
Variant Also Negotiates
The server has an internal configuration error: transparent content negotiation results in a circular reference.
Insufficient Storage
The server is unable to store the representation needed to complete the request.
Loop Detected
The server detected an infinite loop while processing the request.
Not Extended
Further extensions to the request are required for the server to fulfill it.
Network Authentication Required
The client needs to authenticate to gain network access, often used by captive portals.
SSL Certificate Error
The client provided an SSL certificate that was invalid or could not be verified by the nginx server.
SSL Certificate Required
The nginx server requires a client SSL certificate, but the client did not provide one during the SSL/TLS handshake.
HTTP Request Sent to HTTPS Port
The client sent a plain HTTP request to a port that nginx has configured for HTTPS only.
Invalid Token
The authentication token is invalid or has expired. Used by nginx with Esri's ArcGIS Server or in custom token-based authentication.
Client Closed Request
The client closed the connection before nginx could send a response. This code appears only in nginx logs and is never actually sent to the client.
Web Server Returns Unknown Error
The origin web server returned an unexpected or unrecognized response to Cloudflare.
Web Server Is Down
The origin server refused the connection from Cloudflare. The origin's web server is not running or a firewall is blocking Cloudflare.
Connection Timed Out
Cloudflare established a TCP connection but the origin did not reply with an HTTP response before the connection timed out.
Origin Is Unreachable
Cloudflare could not reach the origin server. The origin's IP address is unreachable at the network level.
A Timeout Occurred
Cloudflare completed a TCP connection but the origin did not reply with an HTTP response before timing out.
SSL Handshake Failed
Cloudflare could not negotiate an SSL/TLS handshake with the origin server.
Invalid SSL Certificate
Cloudflare could not validate the SSL certificate on the origin server when in Full (Strict) SSL mode.
Railgun Error
The request failed after Cloudflare established a connection to the origin Railgun server. Railgun is Cloudflare's deprecated WAN optimization technology.
Client Closed Connection
The client closed the TCP connection to the Elastic Load Balancer before the load balancer could send a response.
Too Many IPs in X-Forwarded-For
The X-Forwarded-For header contains more than 30 IP addresses, exceeding AWS ELB's limit.
Unauthorized
The Lambda authorizer configured for the Application Load Balancer returned an unauthorized response.
Login Time-out
The client's session has expired due to inactivity. Returned by IIS when a user's authentication session times out.
Retry With
The request should be retried after performing the appropriate action based on additional information in the response headers.