Server received headers; client can proceed with the request body.
101
Switching Protocols
Server agrees to switch protocols as requested.
102
Processing (WebDAV)
Server is processing a WebDAV request; no response available yet.
103
Early Hints (RFC 8297)
Used to return some response headers before the final HTTP message.
2xx: Success
Code
Name
Description
200
OK
Request successful. Response content depends on the request method.
201
Created
New resource created as a result of the request.
202
Accepted
Request accepted for processing, but not completed yet.
203
Non-Authoritative Info
Transforming proxy is returning a modified version of the origin’s response.
204
No Content
Request processed successfully; no content to return.
205
Reset Content
Request processed successfully; requester should reset its document view.
206
Partial Content
Server delivers only part of the resource due to a range header.
207
Multi-Status (WebDAV)
XML message with multiple response codes for WebDAV sub-requests.
208
Already Reported (WebDAV)
DAV binding members enumerated in a preceding part of the response.
226
IM Used (RFC 3229)
Server fulfilled a request, and the response is a representation of applied instance-manipulations.
3xx: Redirection
Code
Name
Description
300
Multiple Choices
Multiple options available for the resource; client may choose.
301
Moved Permanently
All future requests should be directed to the given URI.
302
Found
Client should look at another URL (historically “Moved Temporarily”).
303
See Other
Response can be found under another URI using the GET method.
304
Not Modified
Resource not modified since specified by request headers.
305
Use Proxy
Requested resource available only through a proxy. Not widely supported.
307
Temporary Redirect
Request should be repeated with another URI; method cannot be changed.
308
Permanent Redirect
All future requests should be directed to the given URI. Method cannot change.
4xx: Client Errors
Code
Name
Description
400
Bad Request
Server cannot process the request due to a client error.
401
Unauthorized
Authentication required, has failed, or not yet provided.
402
Payment Required
Reserved for future use or to indicate payment issues. Not widely used.
403
Forbidden
Server understood the request, but client lacks necessary permissions.
404
Not Found
Requested resource could not be found.
405
Method Not Allowed
Request method is not supported for the requested resource.
406
Not Acceptable
Requested resource produces content not acceptable according to headers.
407
Proxy Authentication Req.
Client must first authenticate with the proxy.
408
Request Timeout
Server timed out waiting for the request.
409
Conflict
Request could not be processed due to a conflict in the current resource state.
410
Gone
Resource requested is no longer available and will not be available again.
411
Length Required
Request did not specify the length of its content.
412
Precondition Failed
Server does not meet one of the preconditions specified in the request header.
413
Payload Too Large
Request is larger than the server is willing or able to process.
414
URI Too Long
URI provided was too long for the server to process.
415
Unsupported Media Type
Request entity has a media type not supported by the server or resource.
416
Range Not Satisfiable
Client has asked for a portion of the file that the server cannot supply.
417
Expectation Failed
Server cannot meet the requirements of the Expect request-header field.
418
I’m a teapot (RFC 2324)
April Fools’ joke code, not expected to be implemented. Used as an Easter egg.
…
…
Additional 4xx codes available for specific scenarios.
5xx: Server Errors
Code
Name
Description
500
Internal Server Error
Unexpected condition encountered; no more specific message available.
501
Not Implemented
Server does not recognize the request method or lacks the ability to fulfill it.
502
Bad Gateway
Server acting as a gateway or proxy received an invalid response from the upstream server.
503
Service Unavailable
Server cannot handle the request; usually a temporary state (e.g., overloaded).
504
Gateway Timeout
Server acting as a gateway or proxy did not receive a timely response from the upstream server.
505
HTTP Version Not Supported
Server does not support the HTTP version used in the request.
…
…
Additional 5xx codes for specific server-related issues.
Unofficial Codes
Apache HTTP Server
218 This is fine: Used by Apache servers. A catch-all error condition allowing message passage through the server when the ProxyErrorOverride setting is enabled.
Laravel Framework
419 Page Expired: Used by Laravel when a CSRF Token is missing or expired.
Spring Framework
420 Method Failure: Deprecated response used by the Spring Framework when a method has failed.
Twitter
420 Enhance Your Calm: Returned by Twitter API when the client is rate-limited; versions
This cheat sheet serves as a quick reference for developers dealing with HTTP status codes. Understanding these codes and their meanings is crucial for effective troubleshooting and debugging in web development.