http-extensions
http-extensions copied to clipboard
H3 ORIGIN be more precise about frame layout
In draft 00 it says:
The layout and semantics of the frame payload are identical to those of the HTTP/2 frame defined in [ORIGIN]. The ORIGIN frame type is 0xc (decimal 12), as in HTTP/2.
I think this is the text as it was, before we ran HTTP/3 and HTTP/2 through the process. I think there's some room for editorial improvements to avoid the guesswork. Not least because HTTP/2 Origin has an errata on the payload definition (https://www.rfc-editor.org/errata/rfc8336).
My suggestion is to just admit defeat and define the whole frame like we do in HTTP/3 or ext priorities, something like
HTTP/3 Origin-Entry {
Origin-Len (16),
ASCII-Origin (..),
}
HTTP/3 ORIGIN Frame {
Type (i) = 0x0c,
Length (i),
Origin-Entry (..) ...,
}
Then we can say something like the semantics of the HTTP/3 ORIGIN frame payload are the same as those of the HTTP/2 ORIGIN frame, modulo the differences already described (control streams and whatnot).