WGLC Review of HTTP (-semantics)

I just finished reading this and I have to say that this is very good.  It's a masterful work.  This is a difficult protocol to document, but this document is well-written, clearly organized, and precise.

Well, precise to exactly the extent the protocol permits, it's a protocol with lots of warts that have accumulated over its history.  But each of those is uniformly well-treated with clear explanations.

I raised a few issues and pull requests, but those were mostly minor.  I have just two comments that I think are worth raising at this level.

1. Multiple trailer sections

The document describes trailers in a way that permits multiple field sections to be sent, starting from the point after the end of the header section following a final status code.

This feature has not been implemented and deployed.  Worse, this feature *cannot* be implemented or deployed as there is no version of this protocol, or even an extension to the protocol, that allows this feature to be implemented.  Every current version either does not support trailers (0.9, 1.0) or only supports precisely one trailer section (1.1 with chunked encoding, 2, 3).

I appreciate the design as a rational, well-constructed thing.  It is very crisply defined.  However, I don't think that it has any place in a document that purports to document an interoperable standard.

2. Upgrade

Only HTTP/1.1 supports Upgrade in any meaningful sense.  It's possible that HTTP/1.1 is the only version that could use Upgrade in that way.  The way that this mechanism is designed essentially depends on a paradigm that is unique to that version.  I don't think that this is a big deal, but I would prefer to see Sections 7.8, 15.2.2, 15.5.22, and 16.7 moved to the messaging document.  As far as I can tell, these sections are the only ones to mention anything related to Upgrade (aside from listings in the IANA considerations), so my guess is that this would not be especially disruptive a move.  (As these are trailing sections, it probably does not even affect inbound citations to this document, thinking about QUIC.)

Received on Monday, 1 February 2021 03:51:01 UTC