The Internet is based on protocols of communication between web servers and computers.
When someone attempts to reach your website, he sends a request and the server ALWAYS returns corresponding status codes.
There are 5 categories of HTTP response status codes. They are made of three numbers. The first number defines their category:
1xx status codes provide you with information about your request processing.
2xx status codes mean that your request is successful.
3xx status codes are redirection status codes.
4xx status codes refer to client errors.
5xx status codes refer to serveur errors.
It is not necessary to know the list of all HTTP error status codes. This is useful only if you want to understand how the client/server relationship actually works.
I wrote this guide to assist those who aren’t server managers or web developers. So, it’s 100% beginner-friendly.
HTTP Error Codes And What They Mean
1xx Status codes
There are informational response codes. They mean that the server received the request and is processing it.
Status code 100 #Continue: The request has been received by the server. A final response will be provided after the request has been fully received.
Status code101#Switching Protocols: The server will process the client’s request.
Status code102 #Processing: The serveur is processing the request, but no response is available yet.
2xx Status codes
They indicate that everything is fine! The server accepted the client’s request and is dealing with it.
Status code 200 #OK: The request has succeeded. Easy.
Status code201 #Created: The request has been accomplished. Additional resources are being created by the server.
Status code 202 #Accepted: The request has been accepted for processing and the processing is still going on. The 202 response purpose is to allow a server to accept a request for some other process without requiring that the user agent’s connection to the server persist until the process is completed.
Status code 203 #Non-authoritative Information: The returned information is not exactly the same as is available from the origin server. Status code 203 might happen if you use CDN or a proxy.
Status code 204 #No Content: The request has been processed and that there is no more content to load.
Status code205 #Reset Content: Tell the user to reset the document which caused the request to be sent.
Status code 206 #Partial Content: The server is successfully fulfilling a range request for the client but will only transfer part of the resources.
Status code 207 #Multi-Status: Provide information about multiple resources, for situations where multiple status codes might be needed.
Status code 208 #Already Reported: Used to avoid repeatedly enumerating the internal members of multiple bindings to the same collection. Prevent your server from entering into an endless loop.
3xx Status codes
3xx HTTP status codes are redirection codes. They inform us that further action is needed. SEO-friendly redirections work with 301 HTTP status codes for example.
Status code 300 #Multiple Choices: The request has more than one possible response. The user has to choose one of them by redirecting its request to the best identifier(s).
Status code301#Moved permanently: The URL of the requested resource has been changed permanently. The new URL is given in the response. 301 Redirection is SO important for SEO. Read this guide from Theme island if you want to know more about it.
Status code302 #Found: This means that the URI* of requested resource has been moved temporarily.
Status code303 #See other: The server sent this response to direct the client to get the requested resource at another URI*.
What does URI means?
URI stands for Uniform Resource Identifier. URI refers to things such as ‘https://’ or ‘mailto:’. Check out this article if you want to know more about it. If you don’t, just consider URI as URL.
Status code304 #Not Modified: The request has been received and would have resulted in a 200 OK response, but the condition was evaluated false.
Status code 305 #Use Proxy: Indicate that a requested response must be accessed by a proxy. It’s highly likely that you will never encounter a 305 error nowadays.
Status code 307 #Temporary Redirect: The server sends this response to redirect the client to the requested resource at another URI with the same method.
Status code 308 #Permanent Redirect: The resource is now permanently located at another URI. 308 status codes are similar to the 301 status code.
4xx Status codes
4xx Status codes indicate a problem from the client (or the browser) side. In other words, 400 errors are not coming from the server.
Status code 400 #Bad Request: The server can’t process the request due to invalid syntax.
Status code401#Unauthorized: The request was not authorized because it lacked valid credentials.
Status code403 #Forbidden: 403 errors are similar to 401 errors. The difference is that the client is recognized by the server, but the access is denied.
Status code 404 #Not Found: The famous 404 error! The server couldn’t find a representation of the target resource. 404 error status code mostly happens when you misspell a URI.
Status code 406#Not acceptable: They happen when the web server doesn’t find any content that meets the criteria given by the user.
Status code 407 #Proxy Authentification Required: not much to say. The client needs to authenticate itself to use the proxy. It’s very much alike 401 status code.
Status code 408#Time out: The server didn’t receive a complete response within the time that it was prepared to wait. Nowadays, Internet Explorer, Chrome, and Firefox use HTTP pre-connection mechanisms to improve user experience and loading-time. It results in a higher number of 408 status code.
Status code 409 #Conflict: The request could not be completed because of a conflict with the state of the target resource.
Status code 410 #Gone: The resource is no longer available and this condition is likely to be permanent. 410 Status code is similar to the 404 status code. 404 status code is returned when the server doesn’t know if the condition is likely to be permanent.
Status code 411 #Length Required: The request is rejected because the Content-Length is not defined and the server requires it.
Status code 412 #Precondition Failed: The client has indicated preconditions and the server doesn’t meet them.
Status code 414 #URI Too Long: All is in the title. The URI requested by the client is too long and the server refuses to process it.
Status code 415 #Unsupported Media Type: The media format is not supported by the server. Thus the server is refusing to process the request. 415 are often the consequence of an encoding problem.
Status code 421 #Misdirected Request: The request is sent to a server that isn’t able to produce a response. It occurs when the server is not correctly configured.
Status code 423 #Locked: The resource that you want to access is locked.
Status code 424 #Failed Dependency: The action requested depended on another action that has failed.
Status code 429 #Too Many Requests: Too many requests were sent over a short period of time.
5xx Status codes
This category of status Code refers to internal server errors. They occur when a server is not able to accomplish an apparently valid request. They sometimes can be caused by plugins.
Status code 500 #Internal Server Error: The server encountered a situation and doesn’t know how to deal with it.
Status code501#Not implemented: The request method is not supported by the server and cannot be processed.
Status code502 #Bad Gateway: The server, while working as a gateway to get a response got an invalid answer and can’t process the request.
Status code 503 #Service Unavailable Error: this indicates that the server is temporarily unable to process the request. It happens when the server is overload because of a traffic spike or down for maintenance. If you encounter too many 503 errors, you should really consider getting another web host.
Status code 504 #Gateway Timeout: The server, while acting as a gateway or proxy, did not receive a response in time.
Status code 505 #HTTP Version is not supported: It means that the HyperText Transfer Protocol version used in the request is not supported by the server.
Status code 506 #Variant Also Negotiates: The server configuration doesn’t allow the operation to go further.
Status code 507 #Insufficient Storage: The action was not processed because the server wasn’t able to store the representation needed to perform the request.