- From: Dale Anderson <dra@redevised.net>
- Date: Fri, 5 Aug 2011 13:42:36 -0700
- To: Amos Jeffries <squid3@treenet.co.nz>
- Cc: ietf-http-wg@w3.org
- Message-ID: <CANNRn6JG2O8biy0yupVbHws=bXjOqy7gfy-OKrEz=GmFSM6LYA@mail.gmail.com>
You are correct sir, I saw the User-Agent example there in part 1 section
6.3 and did not realize User-Agent had its own separate section.
Regards
Dale
2011/8/5 Amos Jeffries <squid3@treenet.co.nz>
> On 05/08/11 19:17, Dale Anderson wrote:
>
>> Good evening. To -hopefully- conclude my series of talking to myself
>> about section 6.3, here is a proposed new section 6.3. And following
>> that a few example User-Agent headers for reference when considering
>> language to do with what I call the "bonus" information generally
>> referring to system architecture, particularly the two alternative
>> endings to the proposed section 6.3.
>>
>
> You seem to be confusing Product Tokens (part 1, section 6.3) and the
> User-Agent: header which makes use of them (part 2 section 9.9) as being the
> same thing.
>
> A "product" representation can appear in at least 3 places. Not all of
> which allow comments, or multiple products.
>
> ie "HTTP/1.1" is a product according to the Upgrade: header definitions.
>
> IMO the existing product token section 6.3 is simple, clear, and has a BNF
> which almost all common agents conform to.
>
>
>
>> 6.3. Product Tokens
>>
>>
>> Product tokens are used to allow communicating applications to
>> identify themselves by software name and version.
>>
>> A product token SHOULD consist of a product and a product-version,
>> separated by a slash “/”.
>>
>> Product tokens are separated by linear whitespace.
>>
>> When software versions change, the product SHOULD stay the same
>> and only the product-version portion vary, to aid parseability and
>> comparison.
>>
>> By convention, the products are listed in order of their significance
>> for identifying the application.
>>
>
> This is where you start talking about things that will cause problems.
>
>
>
>> In practice, clients exhibit bonus information parenthetically
>> between product tokens. This information is proprietary and SHOULD NOT
>> be attempted to be used meaningfully.
>>
>> -or-
>> In practice, clients exhibit bonus information parenthetically
>> following product tokens. This information refers to the preceding
>> product token and identifies information about the host system
>> architecture upon which the client runs.
>>
>
>
> Neither.
>
> A quick look at the UA registry shows an utter mess inside the comment
> fields. With at least three defacto conventions being used. Because the
> parenthesized comment is already part of the existing specifications...
>
> Server = product *( RWS ( product / comment ) )
> User-Agent = product *( RWS ( product / comment ) )
> Upgrade = 1#product
> Upgrade = *( "," OWS ) product *( OWS "," [ OWS product ] )
>
> product = token [ "/" product-version ]
> product-version = token
>
> comment = "(" *( ctext / quoted-cpair / comment ) ")"
>
>
> You can also see from the above why it uses the wording "most fields". For
> there are places where product tokens are used singularly and with no
> comment permitted. The HTTPbis drafts only formalize Upgrade: header, but
> there are other places like defacto syntax in Via: comments where product is
> used in the singular.
>
> The status quo allows somebody to one day formalize the defacto standard
> inside those comments as a separate RFC.
>
> AYJ
>
>
Received on Friday, 5 August 2011 20:43:04 UTC