On Mon, Mar 05, 2018 at 10:43:21AM -0800, Brandon Williams wrote: > In the current protocol http has a lot of additional stuff that's had to > be done to it to get it to work with a protocol that was designed to be > stateful first. What I want is for the protocol to be designed > stateless first so that http functions essentially the same as ssh or > file or git transports and we don't have to do any hackery to get it to > work. This also makes it very simple to implement a new feature in the > protocol because you only need to think about implementing it once > instead of twice like you kind of have to do with v0. So in the most > recent series everything is a chain of request/response pairs even in > the non-http cases. I agree that would be a lot more pleasant for adding protocol features. But I just worry that the stateful protocols get a lot less efficient. I'm having trouble coming up with an easy reproduction, but my recollection is that http has some nasty corner cases, because each round of "have" lines sent to the server has to summarize the previous conversation. So you can get a case where the client's requests keep getting bigger and bigger during the negotiation (and eventually getting large enough to cause problems). If anything, I wish we could push the http protocol in a more stateful direction with something like websockets. But I suspect that's an unrealistic dream, just because not everybody's http setup (proxies, etc) will be able to handle that. -Peff