Re: Working Group Last Call: HTTP/2 revision

Am 01.09.2021 um 05:39 schrieb Willy Tarreau:
> Hi Julian,
>
> On Tue, Aug 31, 2021 at 04:56:07PM +0200, Julian Reschke wrote:
>> Below a few more nits about Section 8:
>>
>> 8.1.1
>>
>> A malformed request or response is one that is an otherwise valid
>> sequence of HTTP/2 frames but is invalid due to the presence of
>> extraneous frames, prohibited fields or pseudo-header fields, the
>> absence of mandatory fields or pseudo-header fields, the inclusion of
>> uppercase field names, or invalid field names and/or values (in certain
>> circumstances; see Section 8.2).
>>
>> Q: are there any mandatory fields that are not pseudo-header fields?
>
> We could say "Host" if there's no ":authority", but in general if we
> defer to semantics the rules for validating a HEADERS frame, I find
> it useful to just give rough examples of what could be covered by
> the core spec.

Well, the way it's written had me wonder what HTTP fields can be
mandatory now that control data is in pseudo fields. To call "Host"
mandatoy is just confusing. Maybe the whole statement should be
simplified somewhat.

>> 8.2
>>
>> To improve efficiency and interoperability, field names MUST be
>> converted to lowercase when constructing an HTTP/2 message.
>>
>> Q: I think this is somewhat misleading, it just provides the motivation
>> why the lowercase format was introduced initially. I would just remove
>> the sentence and potentially insert a note about lower-casing into the
>> field name validity statements.
>
> Or maybe just turn it like this:
>
>    To improve efficiency and interoperability, HTTP/2 only uses lowercase
>    header field names, so all field names MUST be converted to lowercase
>    when constructing an HTTP/2 message.

That's somehat better. Maybe:

"To improve compression efficiency and interoperability, HTTP/2 uses
lowercase field names only. All field names MUST be converted to
lowercase when constructing an HTTP/2 message."

(note that also drops one instance of "header")

Best regards, Julian

Received on Wednesday, 1 September 2021 06:36:06 UTC