> I was under the impression that all old browsers handled URLs
> correctly (i.e. worked when ampersands were escaped correctly).

There were some really decrepit old browsers that didn't but they're obscure
enough that I can't even remember which. Netscape gets it right as far back
as I can remember (namely version 1.1).

[Aside: if you have reasonable server-side tools then it shouldn't matter even
if a prehistoric browser did forget to unescape the &. In a query string
like ?a=b&foo;c=d, the semicolon should work as a separator as well as the
ampersand, so it would be interpreted as pairs 'a=b', 'c=d' (correct) and the
invalid non-pair 'foo' (ignored). Unfortunately, JSP does not support the
semicolon as separator, and PHP doesn't by default either (you have to
configure it).]

[Further aside: there is *one* recent browser that doesn't get ampersand-
replacing in attributes correct all the time. Weirdly, most attributes are
correctly unescaped, so links like <a href="&amp;"> are fine and you
don't need to worry for the general case. But unknown attributes such as
<a bobblehat="&amp;"> and a few other odd exceptions such as, IIRC,
the inline style="" attribute are *not*, and will act as if they contained
"&amp;amp;". The aggravating browser in question? Opera. I believe they've
finally fixed it in the Opera 8 beta, but it's bloody woeful that it took them
so long on such a simple, basic point of syntax.]

> I know that some old browsers didn't work when you incorrectly escaped
> the ampersands (i.e. not at all)

It's plausible. Certainly anything based on a 'real' SGML parser will choke.
(Was Viola like this? Can't remember.)

Of course any browser's parser will "not work" when presented with a parameter
that matches an HTML entity name, like "page=3&sect=4", but this is
actually the correct thing to do: in SGML omitting the semicolon is (sometimes)
allowed, so this would be a valid &sect; entity reference.

This is one of the confusing behaviours that XML's stricter rules gets rid of.

Ah, language-law is always fun. Is this the most tedious post ever to hit
[WD]? You decide!