- From: Stefan Eissing <stefan@eissing.org>
- Date: Wed, 16 Oct 2024 11:16:35 +0200
- To: Willy Tarreau <w@1wt.eu>
- Cc: Kazuho Oku <kazuhooku@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>, Glenn Strauss <gs-lists-ietf-http-wg@gluelogic.com>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
> Am 16.10.2024 um 05:15 schrieb Willy Tarreau <w@1wt.eu>: > > Hi Kazuho, > > On Wed, Oct 16, 2024 at 08:17:36AM +0800, Kazuho Oku wrote: >>> Finally, the treatment in this document on non-final responses that are >>> not the Expect: 100-continue was unique in 2017 when 103 was forging >>> ground. However, we now have things like resumable uploads that are using >>> 104. Maybe there'll be some more in future. The considerations about when >>> its safe./suitable to emit non-100 non-final responses probably applies >>> equally to them all. So perhaps we should be thinking of extracting out the >>> common bits into a standalone document. I appreciate that's more upfront >>> work but might make it easier to make more robust HTTP extensions in the >>> longer run. >>> >> >> Yeah, assuming that the concern is about buggy HTTP/1.1 clients somewhere >> downstream, it might make sense for intermediaries that transcode H2 or H3 >> to HTTP/1.1 to drop all advisory 1xx status codes. >> >> But is that the advice we want to give? >> >> As Roy argues, informational response is part of HTTP. And if we are to see >> more applications using 1xx codes (some might need them to work, rather >> than 103 being a pure optimization), I would be saddened if we have to work >> on writing documents where 1xx should not be used. > > I, too, think that we should consider that clients get fixed over time, > and we must continue to push towards every implementation to respect the > basic principles of the status code families. > > Since the huge work that led to RFC7230, we've observed a massive cleanup > of the landscape, on clients, servers and intermediaries, and with the > arrival of languages and frameworks offering HTTP connectivity out of the > box, combined with the amount of extensions and special cases that are not > trivial to implement (e.g. chunked-encoding), there are less and less > home-made implementations that result from beliefs. > > Some of us remember the heated debates during WebSocket regarding the > hypothetical support of GET+body then 101/Upgrade by then, which was going > to break all of our implementations. Since then many were fixed and I tend > to consider that implementations that do not support even the most basic > HTTP/1 features (e.g. 1xx informational) are just not worth considering > for extensions design. > > Additionally there's often a good hint regarding expected support vs > non-support: since persistent connections and chunking are difficult to > deal with, the vast majority of self-made clients advertise HTTP/1.0 and > not even HTTP/1.1, which is another indication that 1xx Informational > must not be used, so I think it's reasonably safe to assumer that 1.1 > indicates proper support from the client. +1 Cheers, Stefan > > Just my two cents, > Willy >
Received on Wednesday, 16 October 2024 09:17:03 UTC