Unfortunately we all see a 404 error from time to time. It is the most well-known HTTP Response code (or status code). The HTTP response code is a response from the server to the client, which usually is the site visitor’s browser. The response codes are categorized and can be recognized by the first digit. We’ll then list the most common and relevant response codes.
100 informational response
It is not likely that you’ll ever see this as an error (as in fact, it isn’t an error). 100 responses are returned when still loading. Eg the ‘100 continue’ response means that the server has received the request headers, so the client should proceed to send the request body.
200 success response
200 responses indicate that the request has been succesful. Other codes in the 200 class further specify the response, such as:
204 No content – the request itself has been processed successful, but is not returning any content.
This indicates that additional action is required. For example Really Simple SSL uses 301 (permanently moved) responses to any requests to http, to redirect them to https.
301 Permanently moved – also use this if you change the URL of an existing page
400 client errors
This category of responses is used for errors caused on the client side (so usually the browser).
401 unauthorized – the request is denied because it requires authentication.
403 forbidden – the request was denied because it was not allowed.
404 Not found – the requested page or URL is not found.
500 server errors
Similar to the 400 category, but in this case the error originates from the server.
500 Internal server error – unfortunately this is a very generic error. It indicates that something unexpected happened which caused the server to return this error.
502 Bad Gateway – this can occur when a server acts as a gateway or proxy and the upstream server returns an error.
503 Service Unavailable – this usually means that the server is overloaded or down for maintenance.
504 Gateway Timeout – similar to the 502 response, only in this case the server (acting as gateway) did not receive a response from the upstream server at all.