Error
Messages on the Internet
Mike
de Sousa, Director, AbleStable
 |
As
someone browsing the Internet you're bound to
come across an error message now and again.
The usual message is either that the page you're
searching for can't be found, or that there's
a problem locating the Domain Name Server.
There are however many other error messages
and this article not only provides the low down
on these, but also shows how good websites provide
their own customised messages like the screenshot
of AbleStable's 404 error message on the left.
[click to enlarge] |
Defining
the W3C
The World Wide Web Consortium (W3C)
was founded in 1994 by Tim Berners-Lee, the original
architect of the World Wide Web.
The organization's purpose is to develop open standards
so that the Web evolves in a single direction rather
than being splintered among competing factions.
The W3C is the chief standards body for HTTP, HTML,
and includes responsibilities for defining Internet
error messages.
Web page Elements
It's important to know a little about how a web
page is structured when discussing browser error
messages. Web pages have two distinct sections:
the 'head' and 'body'. The 'head' carries the title
of the page, information that is unseen by the general
user, and may contain important instructions to
the browser about how to display certain elements
of the page, how the user can interact with page
elements, and 'Meta' tags which search engines and
directories can harvest so the web page may be effectively
indexed. The 'body' section contains all the page
contents that are 'viewable' by the user.
It Happens To Us All
A browser error message occurs because there's a
misconfiguration or failure on the server side,
a break-down in the data stream between the server
and your computer, or a refusal to serve you the
page without authorisation. Browser error messages
do not signify there's anything wrong with your
computer or necessarily wrong with the website serving
the page. Error messages attempt to provide information
about the nature of the problem so that you can
decide on the best course of action to take.

The rare screenshot above shows how a search query
to Yahoo! resulted in an error in the way the site
processed the request. Yahoo! like all good sites,
delivers custom error pages so that if an error
occurs there's more help than a standard error page
which in general are not particularly informative
or helpful.
Common Error Pages
 |
The most common error page by far is the '404
page not found' which denotes that the server
has not located anything matching the requested
web page. In this instance the requested page
has either been moved, deleted, the user has
entered the wrong URL, or the referring page
has provided an incorrect URL.
No indication in the error message is given
of whether the condition is temporary or permanent. |
| |
|
Rather
than serving a 404 error page, a 410 status
code should be used if the server knows that
an old resource is permanently unavailable and
has no forwarding address, however this is not
generally implemented. The 410 status code is
commonly used when the server does not wish
to reveal exactly why the request has been refused,
or when no other response is applicable.
The second most frequent error page occurs when
the browser cannot find the Domain Name Server
(DNS).
|
 |
If
all goes well you request a Web page > the
DNS tells the request where to look for the
web page by providing the website IP Address
> the Web page is served from that IP Address
and resolves in your browser.
A 500
Internal Server Error page denotes that the
server encountered an unexpected condition which
prevented it from fulfilling the request. This
is most likely caused by a problem in a CGI
script called by the server, or possibly by
a server or DNS misconfiguration.
The DNS is often on a
different server than the website files and
hosted by an entirely different hosting company.
It is possible that although the website itself
is fully functional, the DNS may not be. |
Less Common Error
Pages
There are many additional error messages that you
may also encounter in your Internet browsing. The
following section details these messages in number
order:
52 Runtime Error
This is a 'bad file name or number' error in a
VBScript or JavaScript. These
scripting languages are used to embed small programs
such as pop-up windows into the HTML code of a Web
page.
301 Moved Permanently
The requested resource has been assigned a new permanent
URL and any future references to this resource should
use one of the returned URLs. Clients with link
editing capabilities ought to automatically re-link
references to the Request URL to one or more of
the new references returned by the server.
306 (Unused)
The 306 status code was advised in a previous version
of the HTML W3C specification
but is no longer used.
307 Temporary Redirect
The requested resource resides temporarily under
a different URL.
400
Bad Request
The request could not be understood by the server
due to malformed syntax. This message usually means
the syntax used in the URL is incorrect (e.g. an
uppercase letter should be a lowercase letter; wrong
punctuation marks etc.).
401 Unauthorized
The request requires user authentication: the server
is looking for some encryption key from the client
and is not getting it, or access control has been
misconfigured on the server.
402 Payment Required
This code is reserved for future use.
403
Forbidden
The server understood the request, but is refusing
to fulfil it. Authorization will not help, and the
request should not be repeated. If the server wishes
to make public why the request has not been fulfilled,
it may describe the reason for the refusal. If the
server does not wish to make this information available
to the client, the status code 404 (Not Found) may
be used instead.
405
Method Not Allowed
The server is refusing to service your request because
the method specified in the request-line is not
allowed for the resource identified by the request-URL.
406 Not Acceptable
The resource identified by the request is only capable
of generating response entities which have content
characteristics not acceptable according to the
accept headers sent in the request.
407 Proxy Authentication
Required
This code is similar to 401 (Unauthorized), but
indicates that the client must first authenticate
itself with the proxy.
408
Request Timeout
The client did not produce a request within the
time that the server was prepared to wait.
409 Conflict
The request could not be completed due to a conflict
with the current state of the resource. This code
is only allowed in situations where it is expected
that the user might be able to resolve the conflict
and resubmit the request.
410 Gone
The requested resource is no longer available at
the server and no forwarding address is known. This
condition is expected to be considered permanent.
The 410 response is primarily intended to assist
the task of web maintenance by notifying the recipient
that the resource is intentionally unavailable and
that the server owners desire that remote links
to that resource be removed. Such an event is common
for limited-time, promotional services and for resources
belonging to individuals no longer working at the
server's site. It is not necessary to mark all permanently
unavailable resources as 'gone' or to keep the mark
for any length of time - that is left to the discretion
of the server owner.
411 Length Required
The server refuses to accept the request without
a defined Content Length.
412 Precondition Failed
The precondition given in one or more of the request-header
fields evaluated to false when it was tested on
the server. This response code allows the client
to place preconditions on the current resource meta
information and thus prevent the requested method
from being applied to a resource other than the
one intended.
413 Request Entity
Too Large
The server is refusing to process a request because
the request entity is larger than the server is
willing or able to process.
414 Request-URI Too
Long
The server is refusing to service the request because
the Request-URI is longer than the server is willing
to interpret.
415 Unsupported Media
Type
The server is refusing to service the request because
the entity of the request is in a format not supported
by the requested resource for the requested method.
501 Not Implemented
The server does not support the functionality required
to fulfil the request.
502 Bad Gateway
The server, while acting as a gateway or proxy,
received an invalid response from the upstream server
it accessed in attempting to fulfil the request:
server congestion; too many connections; high traffic
etc.
503 Service Unavailable
The server is currently unable to handle the request
due to a temporary overloading or maintenance of
the server. The server may be busy, site may have
moved ,or the user may have lost their dial-up Internet
connection. The implication is that this is a temporary
condition which will be alleviated after some delay.
Some servers however may simply refuse the connection.
504 Gateway Timeout
The server, while acting as a gateway or proxy,
did not receive a timely response from the upstream
server specified by the URL (e.g. HTTP, FTP, LDAP)
or some other auxiliary server (e.g. DNS) it needed
to access in attempting to complete the request.
Note: Note to implementers: some deployed proxies
are known to return 400 or 500 when DNS lookups
time out.
505 HTTP Version Not
Supported
The server does not support, or refuses to support,
the HTTP protocol version that was used in the request
message. The server is indicating that it is unable
or unwilling to complete the request using the same
major version as the client.
Web
page Contains No Data
The page is there but is not showing anything. Error
occurs in the document attributable to bad table
formatting, or stripped header information.
Unable
to Locate Host
Host server is down, Internet connection is lost,
or the URL is typed incorrectly.
Could Do Better Error
 |
Here's
a surprise. After entering the URL http://www.google/test
the utterly inadequate error message on the
left was delivered. Someone somewhere isn't
doing their job so well... |
Error
messages can guide the Internet user to their destination
in a painless and effective manner, however too
many websites continue to deliver inadequate error
provision. In the case of Google above, it would
have taken very little effort to provide a additional
information about the error, and a search field
so the user could continue browsing. The only options
the user is left with is to either use their back
button, or enter a new URL in the browser address
field.
Conclusion
The result of serving a default
404 page is almost always that the visitor leaves
the site never to return. Most hosting providers
now enable customisable error pages which, if developed
well, encourage the user to stay rather than giving
the impression that the site as 'failing' in some
way. The irony is that much of the time errors occur
as a result of incorrect user input or external
linking, rather than a fault in the site's server
or web page. Sites that don't implement good error
handling not only fail from a usability perspective,
but also loose a significant percentage of their
potential custom.
If you run a site, spend time testing and delivering
effective error pages. If you don't, you now know
a site that provides great error pages cares about
detail, and that professional attitude will likely
carry through to other areas of its business and
organisation...
|
|
|
|