Re: Time to refresh HTTP/2?

> On 31 Aug 2020, at 06:30, Willy Tarreau <> wrote:
> Hi Martin,
> On Mon, Aug 31, 2020 at 10:10:20AM +1000, Martin Thomson wrote:
>>> Am 28.08.2020 um 13:27 schrieb Willy Tarreau:
>>> +1 as well. Wouldn't it be an opportunity to also reference (or even merge)
>>> the extensions such as RFC8441 which adds the ":protocol" pseudo-header ?
>> I tend to think that 8441 wouldn't make the cut; it's discrete in the same
>> way that the ORIGIN or ALTSVC frames are.
> I was thinking about this because the initial rules for :method/:authority/
> :path/etc were pretty strict and resulted in some hard-coded checks in the
> code I wrote, to the point that every time I thought "I really need to work
> on relaxing this to cover 8441", the number of changes in sight made me lazy.
> I'm fine with just a sentence indicating that these ones may be altered by
> extensions, with a link to 8441 as an example of such.

Yeah, I’m with Willy: I think we need _some_ wording here to address RFC7540 §

>   Endpoints MUST NOT
>   generate pseudo-header fields other than those defined in this
>   document.

This MUST NOT feels stronger than it is, due to fact that § 5.5 gives explicit permission to change these MUST NOT statements. Suitable text would probably just indicate that endpoints MUST NOT generate non-7540 pseudo-header fields except by negotiation with the peer (e.g. via SETTINGS), but that HTTP/2 does support extending in this form.

>> Just to add to the list:
>> * midders (or multiple trailers or whatever they are) are something I'm still uncertain about
>> * a re-design that included better 0-RTT design is probably off the table
>> * removing h2c is very tempting, with similar rationale to PRIORITY

Of this list the only thing I’m really tempted to add is removing h2c, and I don’t know whether that’s just because removing stuff is great. So I don’t think I’d lose any sleep if we left all of these changes out, at least for now.

Received on Monday, 31 August 2020 06:47:31 UTC