Re: Client Compliance

Martijn Koster (
Thu, 25 Aug 1994 18:17:25 +0100

> We need some sort of "Compliance Test".

Absolutely. But until there is a rigid standard it is difficult to
comply with it. When the standards arrive I'm sure companies will
start quoting compliance, which one can test.

> The Compliance level should be sent from the client along with the
> standard User-Agent field. "Hi, I'm XYZZYBrowser version 2.2, I can
> handle forms as long as they are not Posted to authenticated areas
> and I use the file extension instead of the mime type for working
> out inline images apart from that I'm compliant with HTTP X.Y and

That's a complete waste of bytes, IMHO. One can use the User-agent
string to index a list describing compliance; there is no point
sending it with every request. Besides, there is no way to add
to the User-agent once it's fielded, so how usful would it be
when new bugs are found?

> You might think that clients would at least get "User-Agent" right,
> its amazing how many dont...
> According to the specification
> The first white space delimited
> word must be the software product name
> <field> = User-Agent: <product>+
> <product> = <word> [/<version>]
> <version> = <word>
> FAIL - NCSA Mosaic for the X Window System/2.4 [=white space]
> FAIL - MacMosaicB6 libwww2.09 [=version in product name]
> FAIL - MacMosaic 2.0.0 a2 [=white space, no /]
> FAIL - OmniWeb/OmniWeb libwww/unknown [=white space]
> FAIL - MacWeb/libwww/2.13 libwww/unknown [=too many /]
> FAIL - WinMosaic/Version 2.0 (ALPHA 3) [=white space]
> FAIL - Lynx/2.3 BETA libwww/2.14 [=Beta not part of version]
> PASS - AIR_Mosaic(16bit)/v3.00.02.02
> PASS - EI*Net/0.1 libwww/0.1
> PASS - LII-Cello/0.9

Ah, one of my favourites. Some other bad examples

Global Wide Help & Information System (GWHIS) ...
Infomosaic for the X Window System/2.4.1 libwww/2.12 modified
Lynx/2.3 (secure, BTT) libwww/2.14
Mosaic (TueV) for the X Window System/2.4.2 libwww/2.12 modified
OmniWeb/$Revision: 1.53 $ libwww/2.14
PATHWORKS Mosaic/1.0 libwww/2.15_Spyglass
Proxy gateway CERN-HTTPD/3.0pre3 libwww/2.16pre
S-Mosaic/Version 1.0b1 (68000) libwww/2.15_Spyglass
S-Mosaic/Version 1.0b1 (PowerPC) libwww/2.15_Spyglass
WWW Collector
WWWWanderer v3.0 by Matthew Gray <>
Texture for the X Window System/1.1 libwww/2.12 modified

I also adore the:

From: <control characters left by MacMosaic 2.0.0 a6 deleted>
From: Enter in Prefs

but quite dislike the "lying" Referers: Why MacMosaic 2.0.0 a6 only
yesterday reckond <URL:
index.html> refers to my Mac Archive I don't know :-))

> You could argue that the User-Agent field isn't very important. But
> so many clients are not fully-compliant with the standards - it's
> useful to be able to tell a user of an interactive service if their
> client will work at all. How? The only way is for me to have
> a huge table of clients with reasons for them not being able to
> handle the service

Sure, what's so bad about that? Make that table available somewhere
prominent so others can use it...

> 1. I know some of the clients I mention below are in Alpha or Beta
> test. A large proportion of clients visiting my site are
> labelled as "alphas" and "betas", people will continue to use them
> for some time.
> 2. Some of the problems are due to bugs in the clients and
> I'm not blaming either the protocol writers or the browser
> authors; we need a way of the server knowing!

You want to build knowledge of every protocol bug in a client
into the server? I certainly don't...

3. We need a way for users to know which client to choose to
depending on independent conformance testing.

-- Martijn
X-400: C=GB; A= ; P=Nexor; O=Nexor; S=koster; I=M
X-500: c=GB@o=NEXOR Ltd@cn=Martijn Koster