How to Diagnose Problems
There are various resosn why a browser does not display a web
page. There are various systems involved to display a web page
in a browser. The intention of this page is to help you to nail down
where the problem lies so you are abel to fix it or to ask the correct
person to fix it.
In case a proxy server is involved, there are a few more steps, see below
Steps to get a web page
-
1) Translate the domainame into an IP adress
An error in this phase usualy results in an errormessage like 'host not found',
'DNS error' or dependign on your browser settings, you will be redirected to a
search page.
-
2) Connect to the web server
Connection problems are usualy reported as 'connection refused' or
'connection timeout
-
3) request the page
Here you get the '404 page not found' errors, Access Denied errors, or sometimes
500 internal server errors.
-
4) render the page
The page may contain Invalid or not by your Browser supported Java Script and HTML Code
Now lets look at the different phases of a request
-
1) Translate domain name to IP adress
-
In case of this page, the client system translates www.redriver.ch to its IP adress
Possible Errors
-
Mistyped Domain Name
You just simply mistyped the name, thus the
DNS resolver ca not find an adress
> enter the correct domainname
-
The DNS has not yet configured
If this is a domain which goes on-line, then chances are good
the DNS has not yet been configured.
>use nslookup to verify it, ask the onwer
of the domain to fix it
-
The DNS is not correct configured
There are sometimes errors in the DNS configurations, mostly
after the owner of the site has changed its ISP
>use nslookup to verify it, ask the onwer
of the domain to fix it
-
2) Open a TCP connection on port 80 to the server
-
Establishes a communication path to the server or more technical, open a TCP connection
on port 80 whit this server.
Possible Problems
-
Firewall
There is a firewall which blocks either access to port 80, or to this server.
In this case you get 'can not open connection' or 'connection timeout' errors.
> depending on the policy of your site, you must either use a proxy which
bypasses the firewall, or ask the firewall adminstrator
to open this port for you.
-
Server not responding
The server is not accepting connections on port 80 for some reasons, e.g. for
maintenace, because of a hardware or network failure. In this case you get
usualy 'connection timeout' or 'server not responding' errors.
> ask the webmaster of the server to fix this problem.
-
3) Send the request to the server
-
This is the part after the domain name, for this page /tech/request-debug.html.A request
can contain a lot more information, e.g. what language the client prefers, the type and
name of the client application (Browsers), what document types the client accepts and so on.
See the echo request page
(opens in a new window) to learn what your client is telling the server. All content on the
lines starting with HTTP_ is sent from your browser
A request
should contain at least the Request path and the host, but often just a simple request
GET / returns the home page.
Possible Problems
-
404 error
The resource specified in the path does not exists, this happens often because a document
has been deleted or if someone makes a mistake while typing in an URL.
or
-
Host header Missing
If the server uses Name Based Virtual Hosting, (more than one domain name under the same IP adress),
then the server needs the HOST header in order to know to which virtual host it must connect.
There are even some applications servers which require this header even if they don't use name based virtual hosting
-
Server relies on other header
Some Server rely on other headers, often HTTP_USER_AGENT and HTTP_REFERRER. Some proxies filter out this
information as it might violate the privacy of the user.
We often had problems with people accessing some web sites because the are using a strange
proxy or so. I have thus written a small CGIwhichh returns the details of a Request as
it is seen by the web severer.
Get the request header from http://www.redriver.ch/cgi/echo
(opens in a new window)
|