When a website fails to load, it’s simply annoying. It’s important to understand, though, why that happened so you know how to fix it.
The 4xx family of status codes is the one we’re investigating here as they relate to invalid or corrupt requests from the client.
Specifically, we’ll take a closer look at the 400 Bad Request error: what this error means, what causes it as well as some specific steps to fix the issue.
What Is a 400 Bad Request Error?
A 400 Bad Request error is a generic client error that occurs when the server determines that the error doesn’t fall in any of the other status code categories. This error is related to the submitted request from the client before it is even processed by the server.
What Causes the HTTP 400 Bad Request Error?
There are various root causes that can trigger the 400 Bad Request error, and even if this error isn’t specific to any particular browser or OS (operating system), the fixes do vary slightly.
Error Code | 400 Bad Request Error |
Error Type | Client-side |
Error Variations | HTTP Error 400 HTTP Error 400 – Bad Request HTTP Status 400 – Bad Request HTTP Error 400. The request hostname is invalid 400 Bad Request 400 Bad Request. Request Header Or Cookie Too Large Bad Request – Error 400 Bad Request – Invalid URL |
Error Causes | URL String Syntax Error Corrupted Browser Cache & Cookies DNS Lookup Cache File Size Too Large Generic Server Error |
1. URL String Syntax Error
The HTTP error 400 can occur due to an incorrectly typed URL, malformed syntax, or a URL that contains illegal characters.
This is surprisingly easy to do by mistake and can happen if a URL has been encoding incorrectly. The following link is an example of a URL containing characters the server won’t be able to process, hence a 400 Bad Request error is triggered.
https://twitter.com/share?lang=en&text=Example%20of%20malformed%%20characters%20in%20URL
Note the extra % character immediately after the word malformed in the URL. A properly encoded space should be %20 and not %%20. This is what the result looks like in the Chrome browser.
An illegal character can also trigger a 400 Bad request error. The following URL contains a { character, which is not allowed. Therefore, it results in the same type of error.
https://twitter.com/share?lang=en&text=Example%20of%20malformed{%20characters%20in%20URL
2. Corrupted Browser Cache & Cookies
Even if the URL is 100% correct, the 400 Bad Request error can still occur because of corrupted files in the browser cache or problems with expired/corrupted browser cookies.
You may have encountered a 400 Bad Request error when trying to access the admin area of your WordPress site sometime after your last log in. That’s happening because of the way the cookie handling your login authentication data may have gotten corrupted and can’t successfully authenticate you as a valid user with admin privileges.
This will then result in the connection being refused, and a 400 Bad Request error is triggered.
3. DNS Lookup Cache
The 400 Bad Request can happen when the DNS data stored locally is out of sync with registered DNS information.
All domain names are aliases for IP addresses. You can think of an IP address as a phone number “always calling” a specific server you want to connect to. When you first visit a website, a process called “name resolution” takes place and that’s when the domain name resolves to the specific IP address of the server.
To speed things up, these details are stored locally on your computer in the local DNS cache, so the name resolution process doesn’t have to be done for every visit to a given website. This is similar to how the browser cache works for HTML, CSS, JavaScript, media, and other files.
4. File Size Too Large
A 400 Bad Request can also occur when you try to upload a file to a website that’s too large for the upload request to be fulfilled. This is strictly related to the file size limit of the server and will vary based on how it has been set up.
Until now, we’ve focused on the 400 Bad Request error being triggered only due to client-side issues.
5. Generic Server Error
This error can sometimes be triggered because of server-side issues as well. Specifically, a 400 status code could indicate a general problem with the server, a server glitch, or other unspecified temporary issues.
If this happens when trying to connect to a third-party website, it’s really outside of your control. Your best shot is to try refreshing the browser and checking at regular intervals whether the issue has been fixed by the site owners.
One way to verify that the issue is a server-side issue is to try loading the website on different browsers. If you want to go the extra mile, test it on an entirely different machine/device to rule out system-specific problems.
When you can’t connect to the site via other browsers, computers, operating systems, or devices, it’s likely to be a server-side issue. If you’d like, you can contact the site owner and let them know which OS, browser, and version you were using when you experienced the issue.
400 Bad Request Error: What Does It Look Like?
Most of the time a 400 Bad Request is related to client-side issues. We already saw what a 400 Bad Request error looks like in the Chrome browser.
But what about the other browsers?
400 Bad Request in Firefox
400 Bad Request in Safari
400 Bad Request in Microsoft Edge
As you can see, all browsers return a generic and unhelpful 400 status code message. It seems you’re pretty much left alone to find a solution to the problem. In Firefox and Safari, it’s not even clear a 400 Bad Request error has occurred, as the browser window is completely blank!
Fortunately, we’ve put together a series of simple steps you can take to fix the 400 Bad Request error. Let’s take a closer look at each one of these in the next section!
How to Fix 400 Bad Request Error?
Complete the steps outlined in this section to help diagnose and correct a 400 Bad Request. The proposed solutions include:
Before digging deeper into the different ways to fix the 400 Bad Request error, you may notice that several steps involve flushing locally cached data.
It’s true that if your computer didn’t cache any files or data at all, there would probably be significantly fewer connection error issues.
However, the benefits of caching files/data are well documented and the web browsing experience would certainly suffer if caching techniques weren’t used by browsers. When it comes to Edge Caching, for example, you can reduce by more than 50% the time required to deliver full pages to browsers.
It all comes down to a compromise between optimization and user experience, where websites try to load as quickly as possible but can occasionally be prone to errors such as a 400 Bad Request without any warning.
1. Check the Submitted URL
As this is one of the most common reasons for a 400 Bad Request error, let’s start with an obvious culprit: the URL string itself. It can be very easy to include unwanted characters in the URL when entering it manually in the browser.
Check that the domain name and specific page you’re trying to access are spelled and typed correctly. Also, make sure they’re separated with forward slashes. If the URL contains special characters, make sure they have been encoded correctly and are legal URL characters.
For long URLs, you might find it easier and less error-prone to use an online URL encoder/decoder. These types of utilities should also be able to detect illegal characters automatically in the URL.
Once you’re sure the URL is correct, try to access it again in the browser. If you’re still getting the 400 Bad Request error, it’s time to clear some cache!
2. Clear Browser Cache
If any locally stored website files have been corrupted, this can cause a 400 Bad Request error to be returned instead of the expected website content.
This includes all types of files a website needs to run properly, such as:
- HTML
- JavaScript
- Text/config files
- CSS
- Media (images, videos, audio)
- Data files (XML, JSON)
These files are stored locally on your computer by the browser when the website is originally visited.
To fix this, the browser cache needs to be cleared.
In Chrome, click on the three-dotted icon in the right-hand corner and select More Tools > Clear Browsing Data from the popup menu.
This will display the Clear browsing data window. Here, you’ll want to make sure the Cached images and files option is checked and then click on the Clear data button to clear the browser cache.
You can also choose to delete recent files for a specific time range via the Time range dropdown. However, to make sure all potentially corrupted files are removed, we recommend deleting all locally stored files by selecting the All time option.
If you’re using an alternative browser, check this guide for clearing the browser cache for all the major browsers (Mozilla Firefox, Safari, Internet Explorer, Microsoft Edge, Opera).
3. Clear Browser Cookies
If clearing your browser cache doesn’t work, then it’s time to delete the cookies, too. A single website can use dozens of different cookies. If just one of them expires or becomes corrupted, it can be enough to trigger a 400 Bad Request.
To clear your cookies in Chrome, open up the Clear browsing data window by clicking the icon with the three dots in the top-right corner and select More Tools > Clear Browsing Data from the popup menu.
Make sure the Cookies and other site data is checked and select All time for the date range option to delete all current website cookies.
Once done, try loading the website which returned the 400 Bad Request error again. Assuming the site uses cookies, clearing them out from your browser could fix the issue, as it’s often associated with corrupt or expired cookies.
To clear cookies in browsers other than Chrome please read this guide here.
4. Check if File Upload Exceeds the Server Limit
If you try to upload a file to a website that exceeds the server file size limit, you’ll encounter a 400 Bad Request error.
You can test this out by uploading a smaller file first. If this is successful, the initial file is probably too large, and you’ll need to find some way to reduce it before uploading it again.
This will depend on the type of file you’re trying to upload, but there are plenty of resources available online that can help compress large images, video, and audio files.
5. Clear DNS Cache
Another common cause of a 400 Bad Request is when local DNS lookup data becomes either corrupted or out-of-date.
Local DNS data isn’t stored by the browser but by the operating system itself. We have put together a detailed guide to clear the DNS cache for Windows and macOS operating systems.
6. Deactivate Browser Extensions
If you have browser extensions installed that affect website cookies, then these could actually be the culprit here. Try temporarily disabling them to see if it makes a difference before trying to connect to the website again.
You may not have considered this could be an issue, but it’s certainly worth a try if you’ve exhausted all other options.
Summary
If you’re experiencing a 400 Bad Request error there are several actions you can perform to try and fix the issue.
In the vast majority of possible scenarios, a 400 Bad Request is a client-side issue caused by the submitted request to the server or a local caching issue. The solutions outlined in this article are easy to implement by anyone with minimal technical knowledge. You should be able to get your website working again in no time!
On occasions, though, a 400 Bad Request status code could hint at a generic server issue. This can be quickly diagnosed by testing the given site on different devices. If you suspect this to be a server-side error, there’s not much you can do other than keep trying to load the site at regular intervals and inform the site admin.