Re: [whatwg/fetch] Streaming upload (Issue #1438)

From an implementation point of view, HTTP is pretty elegant, at least, HTTP/1 is. HTTP/2 trades questionable performance gains for elegance, and HTTP/3 goes further in this direction without any real semantic advantages.

Honestly, I'm so disappointed that we are reinventing the network protocol at the application layer, but that's probably for another discussion.

Browsers just need to implement HTTP correctly. Even since HTTP/1.1 full bi-directional streaming is possible with chunked encoding. Of course you can argue that it's not used but it's a true chicken and egg problem, of course if browsers don't support it no one can use it.

From an implementation perspective, I can only imagine that browsers put "full semantics of HTTP" in the too hard basket and instead invent things like WebSockets and WebTransport, WebRTC which are all ridiculously complicated to implement correctly on the client and server, have various compatibility issues and honestly don't solve the problem as well as bi-directional HTTP would.

I respect that I probably don't see the full picture from the perspective of a browser developer, but I have implemented a full HTTP/1 stack in C++ and HTTP/1 + HTTP/2 in Ruby (and hopefully soon 3), both client and server, including on top of that client and server WebSockets, including on top of that, interfaces for web applications to build on. So, I think I do have a pretty good perspective when I say, I wish browsers would just fully commit to bi-directional HTTP vs all these extra layers on top.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/issues/1438#issuecomment-1140421059
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/fetch/issues/1438/1140421059@github.com>

Received on Sunday, 29 May 2022 10:36:18 UTC