Post AP4gJG0Fs5eLFaT90a by Seirdy@pleroma.envs.net
(DIR) More posts by Seirdy@pleroma.envs.net
(DIR) Post #AP4f7VZw2Jzg7yzZEO by binarycat@pleroma.envs.net
2022-10-29T23:04:53.004461Z
0 likes, 0 repeats
spent several hours reading the HTTP/3 spec.a stateless protocol this is not
(DIR) Post #AP4gJG0Fs5eLFaT90a by Seirdy@pleroma.envs.net
2022-10-29T23:15:44.603383Z
0 likes, 0 repeats
@binarycat Even HTTP/2 was only stateless if you used a subset of the full protocol. Widely-adopted extensions like HPACK were stateful, and even Keep-Alive made the boundary between stateful/stateless a little fuzzier than before.
(DIR) Post #AP4gJGPQMVmaVeFFEu by binarycat@pleroma.envs.net
2022-10-29T23:18:12.298618Z
0 likes, 0 repeats
@Seirdy http hasn't been truly stateless since 0.9
(DIR) Post #AP4h5d23YM2mZdNQgK by binarycat@pleroma.envs.net
2022-10-29T23:26:57.407084Z
0 likes, 0 repeats
several hours was enough for me to understand "wow, this is a mess" and give up.
(DIR) Post #AP4iK5Cvh7ANxyv2hs by Seirdy@pleroma.envs.net
2022-10-29T23:29:40.695140Z
0 likes, 1 repeats
@binarycat Honestly given the problems QUIC addresses it really doesn't make sense for it to even try to be stateless. It was designed to keep connections reliable when the network is hostile and unreliable.I'm a bit biased since my phone's Wi-Fi connection drops every half-hour or so (connection migration my beloved), and I deal with variable packet loss; I'm part if the group that actually benefits from all the complexity.If I must complain: I do think that leaving server-push in the HTTP/3 spec was a really bad idea, and I don't like the fact HTTP/2 and HTTP/3 don't really share much state (when switching from HTTP/2 to HTTP/3, you lose the dynamic HPACK compression dictionary and start over with QPACK).
(DIR) Post #AP4j2qqZvujqSXoOH2 by binarycat@pleroma.envs.net
2022-10-29T23:48:51.958071Z
0 likes, 0 repeats
@Seirdy why would you use http/2, then switch to http/3 mid connection??yeah QUIC is like... fine? it does some neat stuff with bitpacking extra significance into stream ids and stuff...but yeah, server push, pseudo headers, stream types being variable length for some reason (is 256 not enough???)...also, i really think they could've really used this opportunity to break some backwards compatibility more. they already removed Transfer-Encoding and Connection, imo they could have removed more.
(DIR) Post #AP4jGmAy64pO1gzMMy by binarycat@pleroma.envs.net
2022-10-29T23:51:23.883726Z
0 likes, 0 repeats
@Seirdy also, "mandatory extension"
(DIR) Post #AP4mE9xHWtjclo1yaW by Seirdy@pleroma.envs.net
2022-10-29T23:56:23.986755Z
0 likes, 0 repeats
@binarycat I don't mean switching mid-connection; I mean making an HTTP/2 request and then later making an HTTP/3 request.Normally a second HTTP/2 request benefits from dynamic HPACK. But if the first request is over HTTP/2 but the follow-up request is over HTTP/3 then there is no such benefit.This might seem minor bit it completely eliminates the benefits of HTTP/3 for a "drive-by visit" on a page with blocking resources.That's why I'm not a fan of the Alt-Svc upgrade approach. I prefer the DNS-based approach of HTTPS resource records.
(DIR) Post #AP4mEAOZtPZM8Snm8O by binarycat@pleroma.envs.net
2022-10-30T00:24:30.453324Z
0 likes, 0 repeats
@Seirdy you can make multiple requests in one connection tho??unless you're telling me that HPACK sticks around after you close the TLS connection?