...of how much, and why, I hate Internet Explorer.
In this case, a nontechnical user at a client site attempted to use IE as an FTP client... being as how Microsoft hasn't seen fit to ship Windows with an actual FTP client. It wasn't working for him, and, rather than try to solve the problem over the phone, whether by working through the process with IE (it is actually possible to do what needed to be done using IE, as I just determined by experimentation, but it's somewhat nonobvious) or by having him install, and learn to use, FTP Commander, I just had him e-mail the file.
Attempting to diagnose problems encountered by IE users is nigh-well impossible, because IE lies to the user.
Consider the process whereby a web browser displays a simple requested page:
- Browser contacts local, or ISP, name server for DNS lookup of the host-name portion of the URL.
- Browser contacts the remote server and requests the page.
- Remote server transmits either the data for the page, or an HTTP error code.
- Browser renders the page, or displays an error message.
Now... what can go wrong?
First, the name server could fail to respond. In this case, the problem is on your end. Check your network connection; if that's OK, pester your ISP (if at home) or IT department (if at work) about the nameserver being down.
Second, the name server could respond with "not found" status. In this case, the problem could be a typographical error, or an expired or misconfigured domain. Check your spelling, and maybe try Googling for the site you wanted.
Third, the remote web server may not respond. This could be caused by a failure of network connectivity anywhere between you and the web server (possibly caused by a site-blocking firewall, or by an unplugged cable), or the server may be down, temporarily or permanently. Try using traceroute, if your IT department hasn't configured the firewall to prevent it working.
Fourth, the remote web server may respond with an error code - page not found, server overloaded, scripting error, or many other possibilities. In this case, you've reached the server, the network is OK, but the server was unable to provide what you asked for. The specific error is a clue as to what to do next (check your spelling, try again in a few minutes, or forget it).
Finally, the remote server may respond with data, but painfully slowly, leading to a timeout. This can result from an overloaded server or a saturated and/or flaky network connection anywhere between you and it.
So, what's the problem? Well, regardless of the trouble encountered, IE gives the same darn error page. The browser knows exactly which of the above errors happened, but IE conflates them, so the user has absolutely no clue what the problem is.
(OK, so IE7 will, at least sometimes, display an actual 404 page, where IE6 famously displayed its own "the page could not be found" page regardless of the trouble. It still offers no clue as to why an unreachable site is unreachable, despite the fact that it inherently has that information.)