Re: LINK TYPE=override/type
Bill Bereza (bereza@pobox.com)
Fri, 23 Jan 1998 13:53:01 -0500 (EST)
Date: Fri, 23 Jan 1998 13:53:01 -0500 (EST)
From: Bill Bereza <bereza@pobox.com>
To: Benjamin Franz <snowhare@netimages.com>
cc: www-html@w3.org
In-Reply-To: <Pine.LNX.3.96.980123090736.27647A-100000@ns.viet.net>
Message-ID: <Pine.SUN.3.96.980123133956.15463A-100000@mariner.cris.com>
Subject: Re: LINK TYPE=override/type
On Fri, 23 Jan 1998, Benjamin Franz wrote:
> On Fri, 23 Jan 1998, Neil St.Laurent wrote:
>
> > At the moment it seems like the TYPE in LINK is absolutely pointless
> > since I have to download all of the STYLESHEETS anyways to get their
> > correct type.
>
> No, it is *very* useful. It is a guide to the browser which stylesheets
> (scripts, fonts, proprietary extensions, whatever) it can handle and
> should load and which it should just skip because it can't do anything
> meaningful with them anyway. Thus when a browser encounters:
>
> <LINK rel=stylesheet type="text/css" href="/stylesheets/default.css">
> <LINK rel=stylesheet type="text/jsss" href="/stylesheets/default.jsss">
> <LINK rel=stylesheet type="text/xsl" href="/stylesheets/default.xsl">
> <LINK rel=stylesheet type="text/dsssl" href="/stylesheets/default.dsssl">
>
> it *doesn't* try to load the stylesheets it can't deal with anyway.
>
> And the answer to the question of 'which overrides which' is: The TYPE and
> the Content-Type must match. If they don't its an *ERROR*. Error
> handling is agent specific and should not be relied on under any
> circumstances. FWIW - Netscape appears to assume that if the Content-Type
> is wrong, its JSSS or Javascript. Period.
>
So, if TYPE and Content-Type mismatches are an error, than TYPE goes
from being barely useful to outright dangerous. There's no way that
an HTML authour is going to always be able to be sure that TYPE will
match Content-Type. If this error can result in the browser blowing up,
or some other non-specified action, than it would be safest to avoid the
use of TYPE altogethor.
Let's say I have this example for a stylesheet:
<LINK rel=stylesheet TYPE="text/css" href="/ss/main">
At the moment "/ss/main" might be "text/css", but this could change in
the future. Now imagine all the possible things a browser might do with
TYPE:
Use of TYPE Content-Type matches mismatches
1. Browser ignores TYPE no problem no problem
2. TYPE over-rides MIME type no problem problem
3. Browser uses TYPE to no problem possible problem
decide whether or not to
load the stylesheet
4. TYPE must match MIME type no problem problem
5. Browser uses TYPE if no problem possible problem
an error occurs while
using the reported
Content-Type
6. Browser uses TYPE as a no problem no problem
guide to the user in
choosing whether or not
to download the item
I think this covers all the possible uses of TYPE, and it seems the only
safe thing to do would be for the browser to either ignore TYPE or just
use it as some helpful thing for the user.
Bill Bereza bereza@pobox.com http://www.pobox.com/~bereza/
Beware of all enterprises that require new clothes.