HTTP Error Codes

HTTP Error Codes Troubleshooting and Diagnoses

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.

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.

401 Unauthorized

401 indicates that the request resource requires authentication.

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.

403 Forbidden

The 403 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

The 406 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.

409 Conflict

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.

410 Gone

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 GET request.

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.

417 Expectation Failed

If an “Expect” request-header field does not meet the server requirement, the 417 error may trigger. If servers are being used as a proxy, this error might indicate that the request will not make the next hop.

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.

505 HTTP Version Not Supported

In this instance, the particular protocol version used to make a request was kicked back by the server as not supported. This means the connection was made, but the server did not accept it.

Christopher Maiorana Content Writer II

Christopher Maiorana joined the InMotion community team in 2015 and regularly dispenses tips and tricks in the Support Center, Community Q&A, and the InMotion Hosting Blog.

More Articles by Christopher

Was this article helpful? Join the conversation!

Shop the Black Friday Sale
Hurry! These Deals Won't Last Long