Re: XHTML

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Toby,

Am Dienstag, 8. April 2003 19:08 schrieb Toby A Inkster:
> As it happens, in my experience Opera 6 and 7 handle application/xhtml+xml
> better than Gecko. (Aside from a minor bug in Opera 6 that means the
> user has to refresh the page before the style sheet will be applied)
In rendering, but not in HTTP.

> | Maybe the windows 7.1 will do.
> | But the 7.0.0P2 for Linux definitely doesn't (file:
> | opera-7.0.0-20030311.4-shared-qt.i386.tar.bz2 ).
> | And the 7.1.0 TP3 for Linux also definitely doesn't (file:
> | opera-7.1.0-20030403.4-shared-qt.i386.tar.bz2 ).
> | And the Windows 7.03 also definitely doesn't.
> |
> | Try http://www.hujer.com/cgi-bin/printenv.pl with the mentioned versions,
> | to verify, look at HTTP_ACCEPT.
>
> HTTP_ACCEPT includes "*/*", thus Opera indicates that it accepts
> application/xhtml+xml.
*/* is nonsense.
Internet Explorer also includes */*, but if you send application/xhtml+xml, IE 
will ask the user to save the document instead of viewing it.

> | application/xhtml+xml can only be considered working if
> | a) it is sent as part of the Accept-Header at all
> | b) it is treated and parsed as XML (including a check for
> | well-formedness) c) The Accept Header priority of text/html is less than
> | the priority of application/xhtml+xml
>
> Why c?
>
> Does a browser have to put image/png at a higher priority than
> image/jpeg to indicate that it accepts PNG images? Does it need to put
> audio/mp3 at a higher priority than application/pdf to indicate that it
> accepts MP3 audio?
>
> To indicate that a browser accepts application/xhtml+xml, all a browser
> must do is put one of these in the Accept header:
>
> 	a) application/xhtml+xml
> 	b) application/*
> 	c) */*
Technically you're right.

But in the real world of HTTP content negotiation, the only way to detect 
wether a user agent really supports application/xhtml+xml is parsing its 
Accet header since even the most stupid browser accepts */* because it has a 
file download capability.

So if I want to serve XHTML and HTML, negotiating the content depending on the 
browser capabilities, the only user agent that gets XHTML is Mozilla because 
Mozilla includes application/xhtml+xml in its Accept header *and* prefers it 
over text/html.
Opera and Konqueror do not include application/xhtml+xml and therefore content 
negotiation cannot negotiate to send application/xhtml+xml. So these two get 
the same old HTML 4.01 trash that Internet Explorer receives.

MIME types aren't there to be ignored by using */*.



Bye
- -- 
ITCQIS GmbH
Christian Wolfgang Hujer
Geschäftsführender Gesellschafter
Telefon: +49  (0)89  27 37 04 37
Telefax: +49  (0)89  27 37 04 39
E-Mail: Christian.Hujer@itcqis.com
WWW: http://www.itcqis.com/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+kxdkzu6h7O/MKZkRAkPRAJ4sxGofegvQM3ulntIokCqb0t8IlgCeKrsW
Hi4XpSYep38dAfIQI975ZE4=
=fxV6
-----END PGP SIGNATURE-----

Received on Tuesday, 8 April 2003 14:40:57 UTC