Re: Please clarify * is legal in HTTP1/1 Accept-Charset Header

Yung-Fong Tang:
>
>Dear Members of HTTP Working Group:
>
>I want to make sure that * is legal in Accept-Charset header. 
>So the following HTTP header is valid:
>
>Accept-charset: utf-8,iso-8859-5,*

Sending the above header is legal in HTTP/1.1, but 1.1 interprets "*" as a
name for some special custom character set you support, not as a wildcard
matching all charsets.  So a 1.1 server which gets the above header is
allowed to send an error response if it only has the document in iso-8859-2.
I guess that no server will ever do so, though.

Accept-Charset has no wildcard in 1.1 because of an oversight, not because
the http-wg had a long discussion in which it was decided to omit it.  I
think a strong case can be made for adding the wildcard in the next revision
of the HTTP/1.1 specification (which will be in 4 months I think).  Someone
would have to write a small internet draft to make this happen.

Even if procedural reasons do not allow adding the wildcard to 1.1, it can
still be defined on top of 1.1.  I do so in the upcoming revision of the
transparent content negotiation draft.  Here is the text:

-----
8.2 Accept-Charset

   The Accept-Charset header is defined in the HTTP/1.1 specification
   [1].  HTTP/1.1 allows the following Accept-Charset header to be
   sent:

      Accept-Charset: iso-8859-5;q=0.8, *;q=0.9

   but HTTP/1.1 does not assign any special meaning to the charset
   "*".

   This specification does assign a special meaning: servers and
   clients capable of transparent content negotiation must take "*" as
   a wildcard matching every character set not explicitly mentioned
   elsewhere in the Accept-Charset header.  As an example, the above
   header assigns a quality value of 0.9 to the iso-8859-2 charset.
-----

>Frank Tang

Koen.

Received on Thursday, 9 January 1997 01:50:14 UTC