- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Tue, 06 Dec 2011 20:23:30 +0100
- To: Alex Rousskov <rousskov@measurement-factory.com>
- CC: James Snell <jasnell@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
On 2011-12-06 20:13, Alex Rousskov wrote:
> On 12/06/2011 11:43 AM, James Snell wrote:
>> On Tue, Dec 6, 2011 at 8:29 AM, Alex Rousskov wrote:
>>> Overall, the Prefer grammar is more complex than any similar construct I
>>> saw in HTTPbis Part 1 or Part 6! If I did not miss any existing cases,
>>> would it be possible to simplify the Prefer grammar so that existing
>>> parsing code and data structures can be reused to deal with it?
>
>> The grammar for Prefer is modeled closely after the Expect header
>> field grammar in Part 2 and adds only the allowance that a preference
>> can have it's own value (e.g. "Prefer: wait=10" ...
>
> As Julian pointed out, expectation-extension in RFC 2616 attempts to use
> the same syntax:
>
>> Expect = 1#expectation
>>
>> expectation = "100-continue" / expectation-extension
>> expectation-extension = token [ "=" ( token / quoted-string )
>> *expect-params ]
>> expect-params = ";" token [ "=" ( token / quoted-string ) ]
I just sanitized the grammar to:
expectation = "100-continue" / expectation-extension
expectation-extension = token [ "=" ( token / quoted-string )
*(";" expect-param) ]
expect-param = token [ "=" ( token / quoted-string ) ]
(<http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1489>).
Also, I think while converting the ABNF, we forgot to allow OWS around
";"; I opened a ticket for that:
<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/327>
> The only difference I see is that expect-params are only allowed for
> expectations that start with name=value but I bet that is just a bug
> with the closing ']' placement in expectation-extension definition
> (something for HTTBis to fix?).
Make sense to me; I don't believe anybody is using this anyway, so let's
make Prefer and Expect at least the same.
(I added your observation to the ticket).
> If expectation-extension is fixed, we would have to support the same
> syntax for Expect, my "this is too complex!" comment would be
> essentially wrong, and you can have the nice-looking wait=10 preference.
Agreed.
I also need to get this pattern into the Wiki page
<http://trac.tools.ietf.org/wg/httpbis/trac/wiki/HeaderFieldTypes>
(contributions welcome!).
Best regards, Julian
Received on Tuesday, 6 December 2011 19:24:11 UTC