What is HTTP error 400 and how do you fix it?
Tips and tricks to diagnose and debug a 400 Bad Request error
Client-server interactions tend to happen incessantly and smoothly. Despite this, a 400 Bad Request error usually indicates a request that hasn’t been met successfully, or could mean that the remote server you sent your request to could not understand the request as it became corrupted.
Malformed requests can result in error messages as servers respond to requests in a specific and often fixed format. To add to the confusion, sometimes the server itself may cause the error but only in select few instances. Depending on the browser you’re using, HTTP errors may also appear differently.
When it comes to Firefox and Safari, they usually display a blank page with no status code. Chrome, on the other hand, shows a generic “This page isn’t working” message along with an error code.
Here you can find a list of the most common error messages that users have reported while facing a 400 Bad Request error:
- Bad Request - Invalid URL
- Bad Request: Error 400
- HTTP Error 400 - Bad Request
- HTTP Error 400. The request hostname is invalid
- Bad Request. Your browser sent a request that this server could not understand
Website owners may also opt to customize their HTTP Error 400 page to ensure reliable hosting services. An example of this is when web servers run Microsoft Internet Information Services (IIS) they show a more specific variant of the error such as “400.3: Invalid If Header”, “400.2: Invalid Depth Header”, “400.1: Invalid Destination Header”, and more.
A number of scenarios can lead to a 400 Bad Request error, although it may not be immediately apparent. Find out about the most common causes of the error and how to fix them below.
HTTP error 400 causes
There’s a variety of issues that can lead to a 400 Bad Request error. Here, we’ll go over five common issues.
1. Bad URL Syntax
A 400 Bad Request error is usually a client-side error. A good case in point is a URL string syntax error. Incorrectly typed URLs, or URLs that contain backslashes and other invalid characters can garble a request.
For example, the following URL will send you to a valid page.
Access the same URL with an extra “%” in it, and your browser will throw a 400 Bad Request error.
2. Invalid Cookies
Cookies store information about the websites you visit and may also store authentication data to speed up log in. If you can’t log into a website you previously visited, it means the cookie containing your log in data is no longer valid. This results in a 400 Bad Request error.
3. Incorrect file size
You may be trying to upload a file that’s too large to a website. The server will fail to fulfill your request and respond with a 400 error message in such a case.
Keep in mind, the hosting provider sets the maximum upload size limit at the server level. For example, the maximum file size limit for WordPress ranges from 4MB to 128MB.
4. Unsynchronized DNS Cache
Browsers read domain names as IP addresses, which are stored locally in the Domain Name System (DNS) cache to improve the browsing experience. A 400 Bad Request error can occur when the DNS data stored locally is out of sync with a website’s registered DNS information during a future interaction.
5. Server error
Servers can cause errors too. To check if there's an issue with the server, try loading a website from a different browser and device. If the website fails to open in Edge, Chrome, Firefox, or IE, it's likely a server-side problem.
How to fix a 400 Bad Request?
Prevent fraud and phishing attacks with DMARC
How to use domain-based message authentication, reporting, and conformance for email securityDownload now
It’s hard not to be unfazed by an HTTP error that tells you little about the problem. That said, fixing a 400 Bad Request error takes just a few steps. We’ve put together a few useful tips below to help you find your way out.
1. Recheck the URL
Since a malformed URL is the most common cause of the 400 Bad Request error, make sure there are no typing or syntax errors in your URL. Alternatively, for long URLs, consider using an online URL encoder, which automatically detects non-ASCII characters or invalid characters in a URL, saving you time and effort.
2. Check your internet connection
If you keep seeing a 400 Bad Request on nearly every website you visit, check your internet connection or consult your internet service provider to rule out a poor connection.
3. Clear browser cookies
A website may fail to comply with your request due to old or corrupt cookies. As a quick fix, consider clearing your browser cache and cookies. Repeat this exercise from time to time to avoid running into a 400 Bad Request error.
4. Clear DNS Cache
This works similar to clearing browser cookies and cache, except that it’s locally stored in your computer and may contain outdated information that doesn’t sync with the current webpage. You can clear old DNS information and records from your system within the Command Prompt in Windows and Mac.
5. Compress the file
If you run into an HTTP Error 400 right after uploading a file, try uploading a smaller file. If that works, you may conclude that the initial file exceeded the server limit. The best workaround for uploading a large file is to compress it. Most websites permit zip files that fall under the maximum upload size.
6. Deactivate browser extensions
While this isn’t a common solution for a 400 Bad Request error, some browser extensions may interfere with cookies. Temporarily disabling them might resolve the problem.
7. Restart your system
If all other methods fail, restart your computer system and attached peripherals, such as routers. If this doesn’t resolve the problem, the error is likely a server-end issue, and the website administrator should fix it soon.
You can also contact the host to report the problem. Chances are, they’re already aware of the problem or outage and are working on it.
Like most other HTTP errors, an HTTP 400 error can be perplexing. However, the cause is often simple. Old browser files and cookies, wrongly inserted URLs, and incorrect file size are common contributors to this error. It also helps to know that all client-side HTTP error status codes start with 4. Server-side HTTP status codes also exist and begin with 5 instead of 4.