What is Error 400?
The Web server (running the Web site) thinks that the data stream sent by the client (e.g. your Web browser or our HowDoYouTech robot) was ‘malformed’ i.e. did not respect the HTTP protocol completely. So the Web server was unable to understand the request and process it.
It almost always means bad programming of the client system and/or the Web server.
Fixing 400 errors – general
There is a low-level problem in the client or the Web server or both. 95% of the time this is because of a problem on the client system e.g. there is something unstable on your PC running the Web browser.
Is your PC secure?
If your PC is not well-protected, then all kinds of problems may occur – including HTTP 400 errors. If you run Windows, stay up-to-date with automatic security updates from Microsoft and possibly consider getting a registry cleaner. Always have good anti-virus and spyware protection. Invest in a hardware firewall if you can afford one. Be sensible surfing the Web – block pop-up windows and avoid bad sites. If your PC security is compromised, then Web traffic out from your PC to the Internet may be secretly corrupted by malware (spyware, viruses, etc.) running on your PC. This can be difficult for you to detect.
Have you installed web-based software?
Some social networking and games sites ask you to download and run software on your PC so you can interact with other people on the Internet directly (without using your Web browser). This software, if badly written or even criminal, can corrupt all HTTP traffic from your PC. Getting rid of that defective software can be difficult. At worst you may have to reinstall your operating system again (possibly losing all your personal data on your PC if you do not have backup).
How stable is your Internet connection?
If you have recently changed ISPs or your ISP is very slow or unreliable, then Web traffic from your PC out to any site on the Internet may be corrupt. Your ISP may have reconfigured some of their setup (e.g. introduced new proxy servers or caching) that is causing some instability. A possible sign of problems here is if you can’t easily browse the Web site of your ISP. You can also try to check that the Web site you are actually visiting is the one you think you are visiting. For example, you may have a DNS problem. You can check this using a ‘ping’ test. A DNS problem may be caused by your ISP or may be on your own system e.g. in a ‘hosts’ file.
Do you get the error on more than one Web site?
If you get the error on lots of Web sites, this indicates the problem is on your PC, not on those sites.
Do you get the error using more than one browser?
If you have two or more Web browsers installed on your PC and the behaviour is not the same (one Web browser gives an HTTP 400 error visiting a site, another Web browser does not give the 400 error visiting the same site), then one of your browsers may be defective. Try to find an upgrade or security fix for the problem browser. If you recently changed some configuration options in the problem browser, try reversing the change to see if that helps.
Do you get the error on big Web sites?
If you get the problem on quite a small site, visit some of the bigger sites like Amazon, Ebay, Google, Microsoft and Yahoo. If you get the problem only on small sites, it indicates a problem with only those sites or the traffic from your PC to those sites.
Do you get the error on simple URLs?
If you get a problem with a long complicated URL (such as http://www.xxx.com?PHPrequest=643&value=dres&cookies=No) but not with a shorter simpler URL for the same site (such as http://www.xxx.com), this can indicate a problem with the Web server on the site you are trying to visit. This is not conclusive evidence, but is a good starting point. Contact the owners of the Web site and describe the problem to them. You may find for example the problem occurs with POST methods (you are both submitting data to the Web site and retrieving data from the Web site), but not with GET methods (you are only retrieving data from the Web site).
Do you have a cache problem?
Try clearing your cookies, browser cache and browsing history in your Web browser. Disable or remove any third-party caching or ‘web accelerator’ software you installed. Then try rebooting your PC and any firewall/router you use to connect to the Internet. That may not fix the error, but at least may eliminate any problem due to old settings on your PC.
What has changed since you started getting the HTTP 400 problem?
In general terms, think about what has changed on your PC since you first started seeing the problem. This may cover any of the items mentioned above. Work backwards and see if undoing those changes makes any difference.
So there are a lot of things that you can check on your own PC. If you contact the owners of the Web site giving you the HTTP 400 error and they say “We have lots of other users who do not have your problem – so there must be something wrong with your PC”, they are right most of the time – and you can’t expect them to be interested in fixing your own PC problems. However if they know there is a problem with their Web site, they should hopefully tell you so and tell you when they plan to fix the problem.
400 errors in the HTTP cycle
Any client goes through the following cycle when it communicates with the Web server:
- Obtain an IP address from the IP name of the site (the site URL without the leading ‘http://’). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
- Open an IP socket connection to that IP address.
- Write an HTTP data stream through that socket.
- Receive an HTTP data stream back from the Web server in response. This data stream contains status codes whose values are determined by the HTTP protocol. Parse this data stream for status codes and other useful information.
This error occurs in the final step above when the client receives an HTTP status code that it recognises as ‘400’.
Most Common HTTP Errors
- 403 – Forbidden
- 404 – Not Found
- 500 – Internal Server Error
- 502 – Bad Gateway
- 503 – Service Unavailable