- From: David Schinazi <dschinazi.ietf@gmail.com>
- Date: Tue, 9 Jul 2024 13:50:27 -0700
- To: Lucas Pardue <lucas@lucaspardue.com>
- Cc: Ben Schwartz <bemasc@meta.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAPDSy+66j0GxoxrVYyWOi5ufv7H4RKoSPKwrWLWsU-4zC79wJg@mail.gmail.com>
On Tue, Jul 9, 2024 at 1:26 PM Lucas Pardue <lucas@lucaspardue.com> wrote: > Hey > > On Tue, Jul 9, 2024, at 20:37, Ben Schwartz wrote: > > I agree, an "I support WRAP UP" signal is not very useful for the *server*. > It's useful for the server *operator*, to try to answer questions like: > > * Do enough of our clients support WRAP UP that we should invest some > effort implementing it? > * Is our implementation of WRAP UP working correctly? > * How long a grace period do we need to offer to reach 99% graceful > termination among supporting clients? > > > I think these are good points. > > Personally, I would measure these things empirically. Supporting graceful > close in general is already a common industry practice. Extending that to > individual requests is a natural evolution. But that's just me, others > might see it differently and require an explicit market intelligence signal. > In my scenario, we control the clients so we can guarantee that they support WRAP_UP. But having the client send it is cheap so I'm ok with adding that signal if we find a real server operator that has a need for it. Sending a capsule is trivial. Gracefully closing is probably where more of > the effort is. But then every server I know has a bunch of limits and > timeouts already. So the additional work might be easy to justify. > > This actually makes me think of a different problem I've observed that is > sort of opposite of David's proposal. Servers detecting idle or slow loris > streams and shutting them down. So spitballing, would there be any benefit > in capsule that could prompt the client to do something more with a stream > or risk it being garbage collected before WRAP UP termination is started. > > For example, a MASQUE server might have timeouts on the egress side based > on packet exchanges. Keeping that socket alive for an idle end-to-end > connection has a cost to the proxy. The proxy is probably not aware of the > tunneled connection properties, such as the e2e QUIC idle timeout. A proxy > closing the socket prematurely has a cost to client and server. To avoid it > can require endpoints to have to send e2e signals (such as a keepalive > packet) when they otherwise might not need to. A client to proxy signal to > register continued interest in an idle flow could, in theory, improve on > this situation. > Oh that's interesting. Yeah I can see value in a DO_STUFF capsule too. David Cheers > Lucas >
Received on Tuesday, 9 July 2024 20:50:44 UTC