On Sun, Apr 7, 2019 at 4:28 PM Peter Bex <xxxxxx@more-magic.net> wrote:

HTTP/2.0 is quite an unknown for me.  Note that HTTP/3.0 is out by
now too, which uses UDP IIRC.  I'm wondering if a serious SRFI
should also tackle these two protocols.  They seem to be almost
completely different from HTTP/1.0 or HTTP/1.1.

At the bit level, yes.  HTTP/2 abandons the Internet's usual textual representation, and HTTP/3 abandons TCP so that multiplexed connections do flow-control, encryption, and WebSocket-ization separately on each of the connections.  I think it will be a while before firewalls routinely pass HTTP/3 UDP packets (UDP port 443).

But at the level of "A request is a verb, an URL, some headers, and an optional entity-body, and a response is some headers and an optional entity-body", everything is fortunately the same as before.

(By the way, are multiple headers with the same name in the request being merged correctly by the existing code?  The spec says that such headers are only allowed if the value's type is "comma-separated list", in which case they must be merged in first-to-last order.  I just discovered this.)