HTTP Status Codes Cheatsheet
HTTP Status Codes Cheatsheet
A quick-reference guide for standard Hypertext Transfer Protocol (HTTP) response status codes, categorized by class ranges from informational requests to server crashes.
Class Range Summary
| Class | Type | General Description |
|---|---|---|
| 1xx | Informational | Request received, continuing process |
| 2xx | Success | The action was successfully received, understood, and accepted |
| 3xx | Redirection | Further action must be taken in order to complete the request |
| 4xx | Client Error | The request contains bad syntax or cannot be fulfilled by the client |
| 5xx | Server Error | The server failed to fulfill an apparently valid request |
1xx Informational
The request has been received, and the server is continuing the process.
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 (e.g. switching from HTTP/1.1 to WebSockets).102 Processing: The server has received and is processing the request, but no response is available yet.
2xx Success
The action requested by the client was successfully received, understood, and accepted.
200 OK: Standard success response. The actual response depends on the request method (GET, POST, PUT, DELETE, etc.).201 Created: The request has been fulfilled, and a new resource has been successfully created.202 Accepted: The request has been accepted for processing, but the processing has not been completed yet (useful for asynchronous operations).204 No Content: The server successfully processed the request, but is not returning any content (commonly used for DELETE or PUT requests).206 Partial Content: The server is delivering only part of the resource due to a range header sent by the client (used for segmented file downloads/streams).
3xx Redirection
The client must take additional action to complete the request.
301 Moved Permanently: This and all future requests should be directed to the given URI (permanent redirection, SEO-friendly).302 Found: The resource resides temporarily under a different URI (temporary redirection, should not be cached).304 Not Modified: The resource has not been modified since the version specified by the cache headers. The client can load its cached copy (saves bandwidth).307 Temporary Redirect: The request should be repeated with another URI; however, future requests should still use the original URI.308 Permanent Redirect: The request and all future requests should be repeated using another URI. Similar to301, but does not allow changing the request method (e.g. POST to GET).
4xx Client Errors
The request contains bad syntax or cannot be fulfilled by the client.
400 Bad Request: The server cannot process the request due to a client-side error (e.g., malformed request syntax, invalid size, size bounds overflow).401 Unauthorized: Semantically means unauthenticated. The user must log in or provide valid credentials to obtain the requested response.403 Forbidden: The client is authenticated but does not have access permissions for the resource (e.g., a standard user trying to access admin files).404 Not Found: The requested resource could not be found on the server.405 Method Not Allowed: The request method is known but has been disabled for this resource (e.g., trying to POST to a read-only endpoint).406 Not Acceptable: The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.408 Request Timeout: The server timed out waiting for the client to complete the request.409 Conflict: The request could not be completed due to a conflict with the current state of the resource (e.g., database unique constraint failures, duplicate registrations).415 Unsupported Media Type: The request entity has a media type which the server or resource does not support (e.g., uploading an SVG to an endpoint expecting JPEG).422 Unprocessable Entity: The request was well-formed but has semantic errors or failed backend validations (e.g., fields missing in a JSON payload).429 Too Many Requests: The user has sent too many requests in a given amount of time (rate limiting threshold exceeded).
5xx Server Errors
The server failed to fulfill an apparently valid request.
500 Internal Server Error: A generic error message, given when an unexpected condition was encountered on the server (e.g. uncaught backend crashes).501 Not Implemented: The server either does not recognize the request method, or lacks the ability to fulfill the request.502 Bad Gateway: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.503 Service Unavailable: The server is temporarily down, commonly due to maintenance or handling high-volume traffic overloads.504 Gateway Timeout: The server, while acting as a gateway or proxy, 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. ``` —