Website Down? Understanding Why
“The website is down again!” That can be pretty frustrating. In the heat of the moment, most of us don’t really care why it is down -- we just want back online. But the curious user may want to know more. What could make a web server unreachable? Why do they go down in the first place? To understand more, we should start with some basics.
Web Server Basics
Web servers are designed to send pages of information via HTTP. Since the creation of the World Wide Web (WWW), people have been able to transmit information across the world using standardized protocols. The user’s device has a client relationship to the web server. The server is often referred to as the “host”.
What exactly is a web server? It was traditionally a physical device, a computer sitting in a datacenter. Nowadays the same functionality may be handled by virtual machines, often in a cloud computing environment. Within the server, as in every computer, processes run services that undergird the functions of the machine. Web hosting software does the work of interacting with client machines.
Code, Links and Services
Just because you see the website down doesn’t mean the web server is down. In fact, there could be a wide variety of reasons that a web page is unreachable. And it’s not always the fault of the owner of the website. It could be your own machine, your local ISP, a CDN or host of other issues.
Just to clarify, there’s a difference between claiming that a web server is down and saying that a web service is down. The user perceives that the service is unavailable and may quickly blame it on the website. Quora participant Konstantin Kostov knows a thing or two about servers. He says that there’s a lot more to it than just “the server”. He explains that a website issue could be because of problems with:
- The code used to build the website
- The services that host the code
- The operating system that hosts the services
- The hardware that hosts the operating system
- The infrastructure that hosts the hardware
Basically the problem could be anywhere between your device (computer, laptop, smart phone) and the web server. It could even be a problem on your side. Are your connected to the internet? Are there any firewalls on your machine or on the router you connect to that might be restricting access to the site? Is there an outage somewhere along the network path?
So What Happened?
If you were able to access a website before but you can’t now, then it’s clear that something has changed. Unless you’re involved in the maintenance of the site or the intervening network, you may never know. Sometimes it pays to keep your ears open. Today many websites are hosted by public cloud providers such as Amazon Web Services (AWS). If the website outage coincides with a major event affecting a large swath of AWS customers, you might surmise that you have found the reason. Often it’s worth checking a third party service to see if the site is reachable from other locations. For example, this tool which runs a check from an alternate location. If it can reach the site but you can’t, it may confirm that the issue is closer to you than you think.
The website Stanton Street offers a pretty good list of reasons that websites go down:
- Server maintenance
- Coding errors
- Hardware malfunction
- DNS changes or expirations
- Server overload
- Datacenter problems
Each of these issues could be prevented or quickly resolved by good operations and maintenance by service providers. Network and systems monitoring will catch problems quickly. A robust change management program will prevent uncontrolled actions on live infrastructure. Internet service providers (ISPs) should quickly handle DNS and domain issues. It may be complicated, but IT providers should know how to do it by now.
HTTP Error Codes
Often when attempting to view a website, instead of seeing a blank page, you may receive a more detailed error message, like an HTTP error code. Since the World Wide Web is so dependent on HTTP, it might help to look as some common error codes like the ones listed below which will give you more information about the error. In the case of receiving an error, you can at least be assured that you’ve reached the web server, ruling out a network issue. In this case, the server itself (or load balancer, etc.) is most likely experiencing the issue:
- 400 Bad Request – The HTTP request contains invalid syntax.
- 401 Unauthorized – The user is not authorized to access the content of this web page.
- 403 Forbidden – The user is forbidden from accessing the site because of file permissions or some other reason.
- 404 Not Found – The file or resource cannot be found. (This is often due to a typo in the URL by the user.)
- 500 Internal Server Error – This may be due to a server misconfiguration.
- 502 Bad Gateway – This is a proxy server issue.
- 503 Service Unavailable – This could be a temporary issue due to an overloaded server.
- 504 Gateway Timeout – This is likely a network problem between a gateway server and backend servers.
The World Wide Web Consortium (W3C), led by Berners-Lee, provides a full list of HTTP error codes. These are extracted from RFC 2616, the standard that governs HTTP.
The question of troubleshooting depends on whether you are the end user or the owner of the website. The user should make sure that they have good connectivity, that they can access other sites, and that there is no firewall or permissions problem on their side. The user can also notify the website provider if the site is critical to their business.
The website owner may have their hands full. The first thing is to find out where the problem is. Is the site unreachable to all users, or only a segment of them? If it’s just some of them, is there some reason that it might affect only that subset of users? Has there been recent maintenance on the server or on the network?
The advice from Smashing Magazine about “What to Do When Your Website Goes Down” is a few years old, but it’s still valid. Author Paul Tero says to check that it is actually down. “Don’t take your client’s word for it,” he says. Try to log onto the site yourself. If you see it down too, then figure out where it has gone down. That would be a matter of checking the whole path with whatever tools available. Ping, trace route, and nslookup are good to start with. Try to find out the root cause. Start with DNS, does the host name resolve to an IP? Then move to a trace route with the IP you received from the previous test. Does it complete the path? This may reveal or rule out a network problem. Are other servers down too, or just this one? Check your web software, log into your server, and make sure there are no resource issues (e.g., memory) on the server.
Websites can be rather complex, as you might expect. Sometimes it involves a quick and simple fix. Start with what you can do on the client side. Try to access the site from another device. If you can reach the site from another computer or smart phone, the problem is probably with your device. Check around to see if there may be major network or weather events causing the outage. Otherwise, report the issue quickly if it’s a critical website for you.
The best practice is a solid monitoring and maintenance to avoid web outages. But when a site goes down, sometimes all you can do is wait. As for becoming a more patient person, we have no advice for you here.
Other posts you might like...
The True Costs of Downtime for IT
Downtime is a dirty word in the IT business. Unplanned outages are unacceptable and should not be tolerated. In a universe where customers expect services to be available 99.999% of the time, any time your IT service offering is down is costly to your business.
The Need for Increased Availability is Now
Our predictions for the last half of 2017: Ransomware will keep evolving, the rise of IoT will pave way for increased DDoS Attacks, IPv6 Traffic will continue to grow exponentially, Machine Learning and AI will be applied to enhance security, and the need for increased availability is now.read more
5 Ways to Increase Application Availability
A service provider that offers software-as-a-service or another cloud-based solution should understand what customers are looking for and what compels those very customers to choose an off-premise, “cloud-based” solution vs. the more traditional on-premise, self-hosted solution.read more