Binary HTTP [RFC 9292] header name behavior

Hello,
We are trying to define our Binary HTTP header name parsing behavior and we
were wondering what should be done when dealing with mixed HTTP versions
between OHTTP Client and Gateway. For context, RFC 9292 section 3.6-4
<https://www.rfc-editor.org/rfc/rfc9292#section-3.6-4> mentions the
following:
*"A recipient MUST treat a message that contains field values that would
cause an HTTP/2 message to be malformed according to Section 8.2.1 of
[HTTP/2] as invalid; see Section 4.".*
This is clear for field values, but it does not mention field names. Here
is the scenario where we would like more clarity:

An OHTTP Client having a connection to an OHTTP Relay using HTTP/1.1, the
Relay having a connection to the OHTTP Gateway using HTTP/2 and the Gateway
having a connection to the Target using HTTP/2. From a client perspective,
it is sending an HTTP/1.1 request, encoding it in Binary HTTP using
mixed-case header field names, but then the Gateway decodes it and from its
perspective everything is HTTP/2, meaning that mixed-case header names
should not be allowed.

Should the Binary HTTP decoder treat it as an invalid message or should it
implicitly convert header names to lower-case?

Thanks!
Ricardo

Received on Monday, 11 August 2025 21:20:17 UTC