W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2016

Common structure | Re: I-D Action: draft-ietf-httpbis-encryption-encoding-03.txt

From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
Date: Sat, 15 Oct 2016 08:43:35 +0300 (EEST)
To: HTTP working group mailing list <ietf-http-wg@w3.org>
CC: Martin Thomson <martin.thomson@gmail.com>, Poul-Henning Kamp <phk@phk.freebsd.dk>, Kari Hurtta <hurtta-ietf@elmme-mailer.org>
Message-Id: <20161015054336.F1EDC16A9A@welho-filter4.welho.com>
In message <CABkgnnU3vOBBGm=+TT6M++f5pCw9NqHe_UH3OMCDswAWzpHYAg@mail.gmail.com>
, Martin Thomson writes:
>On 11 October 2016 at 04:03, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:
>> As far as I can see, you are now introducing a new HTTP header syntax,
>
>Not as far as I can see.  If we accept the premise that the common
>structure is "list of (thing plus parameters)" 

In message <92926.1476171047@critter.freebsd.dk>, Poul-Henning Kamp write:
> It isn't, its "list of named dictionaries" and your format lacks the name.

Name can invented, I think. ☺


There is

2.  Definition of HTTP header Common Structure
https://tools.ietf.org/html/draft-kamp-httpbis-structure-00#section-2

|       common-structure = 1* ( identifier dictionary )
|
|       dictionary = * ( identifier value )
|
|       value = identifier /
|               number /
|               ascii_string /
|               unicode_string /
|               blob /
|               timestamp /
|               common-structure
|
|       identifier = (token / "*") [ token / "*" ]

3.  HTTP/1 serialization of HTTP header Common Structure
https://tools.ietf.org/html/draft-kamp-httpbis-structure-00#section-3

|       h1_common_structure = h1_element  * ("," h1_element)
|
|       h1_element = identifier * (";" identifier ["=" h1_value])
|
|       h1_value = identifier /
|               number /
|               h1_ascii_string /
|               h1_unicode_string /
|               h1_blob /
|               h1_timestamp /
|               h1_common-structure

If I guess correctly Martin Thomson's format gives

|       common-structure = 1* ( (identifier dictionary) / anonymous-dictionary )
|
|       dictionary = * ( identifier value )
|
|       anonymous-dictionary = 1* ( identifier non-empty-value )
|
|       non-empty-value = <value; empty value not allowed>


and

|       h1_common_structure = h1_element  * ("," h1_element)
|
|       h1_element = ( identifier * (";" identifier ["=" h1_value]) ) /
|                    ( 1* ( identifier "=" h1_value) )


This looks serializable, but is it parsable?

/ Kari Hurtta
Received on Saturday, 15 October 2016 05:44:12 UTC

This archive was generated by hypermail 2.3.1 : Saturday, 15 October 2016 05:44:20 UTC