If I can generally reach web pages on the Internet but can't reach a specific one, how do I troubleshoot what the cause is as an end user?
Maybe the website is actually down.
Try visiting http://downforeveryoneorjustme.com.
If it says "It's not just you" the website is likely having an outage and you should try to report it if possible -- or just wait.
Maybe it's a DNS problem.
See if the website DNS name (let's say it is
example.com) resolves to an IP address. You can do this by starting a console or command prompt, and typing
C:\Users\Jeff>ping example.com Pinging example.com [18.104.22.168] with 32 bytes of data: Reply from 22.214.171.124: bytes=32 time=26ms TTL=244 Reply from 126.96.36.199: bytes=32 time=27ms TTL=244 Reply from 188.8.131.52: bytes=32 time=27ms TTL=244 Reply from 184.108.40.206: bytes=32 time=39ms TTL=244 Ping statistics for 220.127.116.11: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 26ms, Maximum = 39ms, Average = 29ms
If you get an "unknown host" error this means there is likely a DNS problem. You can try seeing if it resolves against Google's DNS with
nslookup stackoverflow.com 18.104.22.168.
C:\Users\Jeff>nslookup example.com 22.214.171.124 Server: google-public-dns-a.google.com Address: 126.96.36.199 Non-authoritative answer: Name: example.com Addresses: 2620:0:2d0:200::10 188.8.131.52
If it does resolve with that command then you probably want to contact your DNS provider (likely your ISP). If you want to run further DNS tests, try GRC's DNS Benchmark for Windows, or the services just-ping.com and whatsmydns.net.
Maybe it's a browser problem.
If it does resolve in DNS, but you don't get ping replies it means they are either filtering pings or you can't reach that site. If you are getting replies you might have a browser or browser proxy issue. Try installing another web browser with all default settings and see if you get any different results.
Maybe it's a problem with your internet connection.
If it is resolving but you can't reach it try running
tracert example.com and see where they start timing out.
Tracing route to example.com [184.108.40.206] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms 192.168.1.1 2 15 ms 26 ms 29 ms c-x-x-x-x.hsd1.ca.comcast.net [x.x.x.x] 3 10 ms 25 ms 9 ms te-5-4-ur04.pinole.ca.sfba.comcast.net [220.127.116.11] 4 12 ms 13 ms 14 ms te-0-6-0-0-ar01.oakland.ca.sfba.comcast.net [18.104.22.168] 5 35 ms 15 ms 12 ms pos-0-3-0-0-cr01.sacramento.ca.ibone.comcast.net [22.214.171.124] 6 15 ms 16 ms 18 ms pos-0-9-0-0-cr01.sanjose.ca.ibone.comcast.net [126.96.36.199] 7 16 ms 18 ms 19 ms xe-11-1-0.edge1.SanJose1.Level3.net [188.8.131.52] 8 27 ms 18 ms 33 ms vlan69.csw1.SanJose1.Level3.net [184.108.40.206] 9 77 ms 29 ms 183 ms ae-63-63.ebr3.SanJose1.Level3.net [220.127.116.11] 10 28 ms 35 ms 35 ms ae-2-2.ebr3.LosAngeles1.Level3.net [18.104.22.168] 11 43 ms 27 ms 60 ms ae-31-80.car1.LosAngeles1.Level3.net [22.214.171.124] 12 23 ms 23 ms 28 ms INTERNET-CO.car1.LosAngeles1.Level3.net [126.96.36.199] 13 24 ms 23 ms 24 ms www.example.com [188.8.131.52] Trace complete.
You can also try PingPlotter (Shareware; Free 30-day evaluation.) which will repeatedly run a traceroute and graph the results, so you can see if you have packet loss or bandwidth problems at any hop on the traceroute.
Let this run for a while. If it is timing out after only an entry or two you probably want to contact your internet service provider. If it is timing out towards the end you should contact the webmaster of the site, if possible. Whoever you contact, include the output of the
Something else to look for is a faulty router.
I recently had this situation with accessing any Stack Exchange site. It would time out, return connection errors and generally "lock me out" for 5 minutes at a time. Virtually all other sites were OK.
After lengthy chats with Stack Exchange staff (very helpful) and my ISP I narrowed it down to the router. Swapping it out has apparently cured the problem.
The problem here (I think) was that what ever the fault was on the router it couldn't cope with the relatively high volume of traffic I was generating when using Stack Exchange as a logged in user with multiple accounts and having a lot of them visible at any one time.
The fact that only one site (well one set of sites) was affected led me to believe that the problem lie elsewhere.
These days one needs to consider IPv6. It's possible there is a problem with the IPv6 mechanism (DNS, routing, OS) but not IPv4 (or, less likely, vice versa). Both the
tracert commands as of Windows 7 take a
-6 option to independently test IPv4 and the new IPv6.
This feels like a comment to the main answer, not another answer, but I don't have enough rep to comment. Or perhaps I should edit the Wiki, which would mean perhaps adding an example, since the answer is so professional looking. But I don't have enough rep for Wiki editing either.
Feel free to edit this as necessary.
In my case, I had a quite specific problem, which was hard to decode for me. When I tried to reach a specific website from Firefox, I always got a timeout. When I tried copying the page address over to another browser, it also resulted in a timeout. It was happening over various connections, and all my other devices worked fine. Even querying for the website with cURL worked fine! I tried changing settings, proxies, changing and refreshing DNS etc...
Long story short, the problem was that one of my extensions, HTTPS Everywhere was redirecting me to a https version of the address but the server was not responding on the SSL port.
When trying to debug in other browsers, I unknowingly also copy-pasted the https protocol prefix and was therefore having the same issue but I typed it manually into the shell to perform cURL request so it worked.
The fix was just to disable the HTTPS Everywhere rule for the specific website.
A very special case, but might happen to others and hope this helps.