No matter what you’re doing on the web, if you’ve got two computers talking to each other, there’s going to be some messages that get garbled in the process. This is where having a knowledge (or, at least, a list) of HTTP error codes can be your guiding light.
- 400 – Client HTTP Error Codes
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Request Entity Too Large
- 414 Request-URI Too Long
- 415 Unsupported Media Type
- 416 Requested Range Not Sustainable
- 417 Expectation Failed
- 500 – Server Error
For developers and sysadmins, our cloud server hosting is the ideal solution for unmanaged Linux systems architecture.
400 – Client HTTP Error Codes
The 400 error class is reserved for situations in which the “client” has erred in their request or otherwise make a bad request. “User agents,” like your web browser, for example, are urged to provide you with these error codes to assist you in troubleshooting. All of the major browsers, thankfully, comply with this recommendation.
400 Bad Request
The 400 error indicates that the request to the server was simply bad, due to malformed syntax, or some other problem. The client should attempt to make the request again with improved syntax.
402 Payment Required
The HTTP standard has marked this code as “reserved for future use,” so we don’t have specifics on this code yet.
This error indicates that the request was made successfully but the server will not fulfill the request.
Some possible troubleshooting steps might include:
- Contact relevant IT support, because the resource might be protected
- Check file permissions, because a read error on the file can trigger the 403 code
404 Not Found
The classic 404 “Not Found” error indicates that the resource you were trying to reach was not found on the server. Many people may encounter a 404 error, and be confused by what it means, even though they may know it means the resource was not found.
So if you encounter a 404 error, it’s best to remember what actually happened: a connection was made successfully, all other resources seem to be working as intended, but your page or asset was simply not found.
At this point, check to make sure that you typed in the right address, check your site code (if you’re using a dynamic page generator or content management system), paying special attention to make sure that the specific resource you’re looking for is typed in correctly.
405 Method Not Allowed
The connection method used was not acceptable for the resource that was requested. Your browser should provide you with more information in the debug area.
406 Not Acceptable
This error indicates that certain entities passed to the resource were not accepted because only certain entities are acceptable.
407 Proxy Authentication Required
If you see this error, you must check to make sure if and how authentication is required. This may require a coding solution or contact to the IT department to see if the client requires certain authentication.
408 Request Timeout
Servers often have a predetermined time period in which they will wait to see that a successful connection is established. If you are seeing the 408 error it is likely because the timeout period has elapsed and the request was not completed.
This error indicates a conflict with the request and the resource, but it is a conflict that can be resolved. In most cases, your browser will provide more information for troubleshooting.
Unlike the 404 Not Found error, the 410 indicates that a resource is “no longer available” at the server and no forwarding address has been provided.
411 Length Required
In this instance, the server requires a request of a predefined length. A header consisting of the proper content length will be accepted.
412 Precondition Failed
A true/false pre-condition for the request failed. In many instances, a certain test may be passed in the request, and if the test should fail the request in canceled.
413 Request Entity Too Large
As the error indicates in the title, the resource entity passed to the server was too large.
414 Request-URI Too Long
The 414 error can trigger when a request made to a server with a
Request-URI that is too long for the server to accept. This rare error is often associated with possible security risks, such as a
PUT request “improperly converted” into a
415 Unsupported Media Type
HTTP requests can come in many forms. In this case, the 415 error indicates that the media type submitted in the request is not supported.
416 Requested Range Not Sustainable
If a requested range does not does not include an “
If-Range” request-header field, this error can trigger.
500 – Server Error
The following status codes have earned a bad reputation for their stubborn consistency in calling out server errors. If you see one of these errors, you know something is wrong, but it can be difficult to know exactly what happened.
500 Internal Server Error
Here is the most infamous error in the status code handbook. The 500 error is ubiquitous but unfortunately vague.
Since PHP is one of the most popular scripting languages on most websites (largely because of its appearance in WordPress) you can most often bet this error is being generated from PHP, but not always.
We have written a full guide on troubleshooting the 500 error.
501 Not Implemented
Unlike the generic error 500, the 501 indicates that the method used to make the connection is not implemented or installed or otherwise supported on the server.
502 Bad Gateway
The 502 error should only be seen in servers acting as a proxy, to indicate that a breakdown in communication occurred, in which the servers in question were not able to guarantee a proper exchange of data. Most 502 errors are temporary and seem to fix themselves.
503 Service Unavailable
This error is used to indicate a temporary disruption of service on the server by maintenance or a temporary overload issue.
504 Gateway Timeout
Once again, with a server acting as a proxy or gateway, the request to the server timed out. Depending on how this status is implemented, you may see a 400 or 500 error.