Subject: [quicwg/base-drafts] Add capability for sending HTTP metadata (trailer fields) in mid-stream (#3265)

From: "Roy T. Fielding" <[email-masked]>
Date: Mon, 18 Nov 2019 18:56:43 -0800

For a very long time (since early 1995) there have been various attempts to send metadata in parallel with the request or response bodies. The use cases have ranged from group chat to chained digital signatures to performance metrics to long download checkpoints to a heck of a lot of other things that I pretend to no longer remember for sanity purposes.

Fixing that in HTTP/1.1 was only possible within chunked extensions. For a variety of reasons that had nothing to do with the use cases, chunked extensions didn't work well over intermediaries and the chicken never hatched. Nevertheless, they did work over HTTP when the applications had control over both sides of a connection. I vaguely recall such metadata being present in HTTPng as well.

For some bizarre reason, I thought that sending metadata in midstream was present in h2 and all was fine and good for keeping it through in QUIC. I mean, for crying out loud, we don't have any of the limitations here that we had to deal with in HTTP/1.1. That's why I didn't raise this issue earlier. Apparently, I was wrong.

I would like for HTTP/3 to have a mechanism for communicating metadata (like trailers) in mid-stream, both for requests (e.g., priority) and responses (e.g., chained sigs).

I believe that this can be done with an additional frame type that carries trailer data, just like HEADERS, but that doesn't imply the end of DATA. However, I don't really have an opinion on what is the right way to do this in HTTP/3, only that it is worthwhile and necessary to do before a last call. I do not believe, from extensive experience, that this feature can be added later. I'd appreciate if people more familiar with QUIC implementation would choose the best specific syntax.

It is not a semantics change for HTTP because the fields are just optional trailers that arrive early. A recipient that is not prepared to handle these fields, for whatever reason, can discard them in the same way as trailers.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3265

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 28 Nov 2019 17:45:34 -0800

Parking until discussion in HTTPWG concludes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3265#issuecomment-559632825