List Of HTTP Response Codes
HTTP response codes are given to the browser whenever the browser completes a task. These messages can be anything from a resource loading correctly, or your contact form failing to submit. The browser normally does not show these responces unless they are errors, although you can find a log of them if you wish. However, if an error occurs, you can easily find it in the console, and possibly display on-screen. You can learn how to set custom error pages here.
Levels of response codes
Did you know that the first number of an HTTP response will tell you what category the message is in? If you didn’t, you do now! There are five different categories, beginning with the number one, two, three, four, and five respectively. Makes sense right?
Responses beginning with one are informative responses. If it begins with the number two, it’s a successful response. Beginning with a three means that it is a redirect. If it begins with a four, that means there was a client error. Lastly, a response beginning with a five means there was a server error. Confused? Check out the table below.
Begins with a one (1) | Informative | 100-199 Response codes |
---|---|---|
Begins with a two (2) | Success | 200-299 Response codes |
Begins with a three (3) | Redirect | 300-399 Response codes |
Begins with a four (4) | Client Error | 400-499 Response codes |
Begins with a five (5) | Server Error | 500-599 Response codes |
Advertisement

List of all response codes
Informative Responses (100-199)
Code | Meaning | Description |
---|---|---|
100 | Continue | A response meaning that everything is working properly, and the client computer should continue requesting information, unless all requests have been completed |
101 | Switching Protocols | Indicating that the protocol is switching, and providing the new protocol to connect with |
102 | Processing | Indicating that the server has received and is processing the request, but no other information is available yet |
103 | Early Hints | Used to return various response headers before main content load. Not compatible with most browsers. |
Successful Responses (200-299)
Code | Meaning | Description |
---|---|---|
200 | OK | The request has succeeded |
201 | Created | Typically sent after POST requests, this response means that the request has succeeded, and as a result, a new resource has been created |
202 | Accepted | The server has received the request, but has not begun processing it. Typically used when multiple servers are used to accept and progress requests |
203 | Non-Authoritative Information | Returned meta-information is not the same from the origin server, and is collected locally or from a third party. Unless those requirements are met, a “200 - OK” code is used instead |
204 | No Content | No content is available to send for the request. The user-agent device may update cache-headers for this resource |
205 | Reset Content | Informing the user-agent device to reset the document that sent the request |
206 | Partial Content | An XML message that by default contains a number of separate response codes depending on the number of sub-requests were made |
207 | Multi Status | Used when the Range header sent from the client requests only part of the resource |
208 | Already Reported | Members of a DAV binding have already been received in an earlier part of the multistatus response, and are not being included again |
226 | IM Used | The server has completed a resource request, and the response is a representation of the result of one or more instance-manipulations applied to the current instance |
Redirection Responses (300-399)
Code | Meaning | Description |
---|---|---|
300 | Multiple Choices | Used when the request has multiple possible responses. The user-agent is then responsible for selecting a response |
301 | Moved Permanently | The requested URL has been permanently moved. Directs the user-agent to update the cache to reflect changes |
302 | Found | The requested URI has been temporarily moved. Future changes may be made, and cache should not be updated |
303 | See Other | This response is used when the server requests the client to get a requested resource elsewhere with a GIT parameter |
304 | Not Modified | Used for caching purposes. This response tells the client that the response has not been changed, so the client can continue its use of the cached version |
307 | Temporary Redirect | A response used to direct the client to a different resource at a different URI using the same method |
308 | Permanent Redirect | The resource has been permanently moved. Similar to “301 - Moved Permanently”, except the user-agent cannot change the request method |
Advertisement

Client Error Responses (400-499)
Code | Meaning | Description |
---|---|---|
400 | Bad Request | Learn More - The server could not understand the request |
401 | Unauthorized | Learn More - Technically “Aunauthorcated“. Meaning that the client needs to authenticate to gain access |
402 | Payment Required | Reserved for future use. The idea was to use it for online payment, but the code is rarely used, and in some instances, not implemented |
403 | Forbidden | Learn More - The client does not have the rights to access this content. Learn how to customize the error page |
404 | Not Found | Learn More - The most common 400 error code. Per it’s name, the response means that the requested resource cannot be found. Learn how to customize this error page |
405 | Method Not Allowed | The methods used in the request are supported on the server, but are not supported by the resource |
406 | Not Acceptable | Sent when the server doesn’t find any matching content after performing server-driven content negotiation |
407 | Proxy Authorization Required | Similar to “401 - Unauthorized” except authorization must be completed by a proxy |
408 | Request Timeout | Learn More - Used when the server wished to close the connection. Sometimes sent on idle server connections. Some servers do not send the message, but abruptly shut down instead |
409 | Conflict | A response sent when a request conflicts with the server |
410 | Gone | Response returned when requested content has been removed from the server, without a forwarding address listed. The user agent should purge any cache on the resource |
411 | Length Required | Used when the “Content Length” header is not defined, but the server requires it |
412 | Precondition Failed | Client has conditions defined in the headers that the server does not meet |
413 | Payload Too Large | Request is larger than server defined limits. The server may close the connection or send a 409 responce |
414 | URI Too Long | Used when the server is not willing to interpret a client’s long URI |
415 | Unsupported Media Type | Request rejected by the server, as the requested media format of requested data is not supported by the server |
416 | Range Not Satisfiable | Range specified on the header cannot be completed. The range may be outside the size of the target URI’s data |
417 | Expectation Failed | Response code used to indicate that the “Expect” header field cannot be met by the server |
418 | I'm a teapot | Learn More - Used when the server refuses to brew coffee with a teapot |
421 | Misdirected Request | Used when the request is sent to a server that cannot produce a response. Can also be sent by servers not configured to send responses |
425 | Too Early | Used when the server is unwilling to process a possible duplicate request |
428 | Precondition Required | The server requires a conditional request that is not met by the user-agent |
429 | Too Many Requests | Learn More - The client has sent too many requests in a given timeframe, and has been temporarily blocked by the server |
431 | Request Header Fields Too Large | The server refuses to process the request because the headers are too large. If headers are reduced in size, the request may be accepted by the server |
451 | Unavailable For Legal Reasons | The resource cannot be legally provided by the server per the servers configuration |
Advertisement

CServer Error Responses (500 - 599)
Code | Meaning | Description |
---|---|---|
500 | Internal Server Error | Learn More - The server encountered an unknown error. |
501 | Not Implemented | The server does not support the request method used. Only GET and HEAD methods are required for servers to support |
502 | Bad Gateway | This response means that the server, while trying to get a response from a different server or gateway, encountered an error |
503 | Service Unavailable | Learn More - This response means that the server is not ready to handle requests. The server may be down for maintenance, or it may be overloaded |
504 | Gateway Timeout | Similar to “502 Bad Gateway”, except the server is unable to set a request in the timeframe provided |
505 | HTTP Version Not Supported | The HTTP version used in the request is not supported by the server |
506 | Variant Also Negotiates | An internal error has occurred pertaining to the negotiation of resources |
508 | Loop Detected | The server detected an endless loop during processing and aborted the request |
510 | Not Extended | Additional extensions are required for the server to process the request |
511 | Network Authorization Required | This response means that the client must authenticate to gain acess to the server network |
Conclusion
That's it! Check out the Response Codes FAQ to learn more about the most popular error codes. If we messed up (After all, we are humans), please let us know!
Advertisement