3 ms·
There are also keep-alive, caching (a big topic), chunked transfer encoding, header parsing peculiarities, and authentication in HTTP. The combination of these
by ahartmetz 5y ago
There are also keep-alive, caching (a big topic), chunked transfer encoding, header parsing peculiarities, and authentication in HTTP. The combination of these creates some nice opportunities for implementation bugs. Source: have worked on a client-side implementation.
Now, HTTP/2 isn't even conceptually simple, I agree about that... it seems ugly.
- tokamak-teapot 5y agoOne good thing is that you don’t have to support everything if you’re writing a server. It just depends on what kind of use cases you want to support.
- jbverschoor 5y agoThat came with http/1.1 ;-)
- merb 5y ago> implementation bugs. Source: have worked on a client-side implementation well because the hard part is the client-side. caching is a client-side only thing with http, keep-alive is a thing that a server pushes to a client, the same with chunked transfer, which is not as easy to implement for a client like it was with content length. basically a server does only need to implement certain headers, but a client needs to know all. also most clients even accept bad servers, like content for head requests, etc.. most stateless protocols put a lot of burden into clients. h2 on the other hand is stateful and keeps the same hard semantics onto the client side and also makes servers more complex, because it's a state machine.