- From: Ricky Perez <ricardo.perezper@gmail.com>
- Date: Tue, 12 Aug 2025 16:25:23 -0400
- To: Martin Thomson <mt@lowentropy.net>
- Cc: ietf-http-wg@w3.org
- Message-ID: <CABS_pMdhcybJesSbs2nn9yUgFYopWFwGJTG-jO20yPyNtD10jw@mail.gmail.com>
Thank you for the context Martin! So just to clarify, should downcasing happen at the encoding path, at the decoding path, or at both paths? I'm happy to assist with filing the erratum, though let me know if you prefer I hold that off in favor of following some other process. On Mon, Aug 11, 2025 at 7:50 PM Martin Thomson <mt@lowentropy.net> wrote: > Hi Ricky, > > It looks like you found a hole. The intent was always to follow the > tighter rules in HTTP/2 for name and value construction. But I seem to > have managed to point to only the value construction part. > > An erratum is almost the right way to address this, but you might equally > say that we flubbed it and need to revise the document to fix the problem. > In practice, implementations are generally downcasing, so an update - > however that happens - to require that wouldn't be disruptive. > > On Tue, Aug 12, 2025, at 03:58, Ricky Perez wrote: > > 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 Tuesday, 12 August 2025 20:25:39 UTC