- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Thu, 16 Oct 2025 12:47:17 -0700
- To: Rory Hewitt <rory.hewitt@gmail.com>
- Cc: David Schinazi <dschinazi.ietf@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-Id: <6143B536-B6D4-42B2-8CF5-97A18DC76235@gbiv.com>
> \On Oct 16, 2025, at 11:37 AM, Rory Hewitt <rory.hewitt@gmail.com> wrote: > > Roy, > > I would always use "downstream" to mean "towards the client" as David (and the Envoy documentation) does. Are you saying that it can/does mean the opposite in some cases? > > Rory All HTTP communication occurs on directional data streams: requests are sent (or received) on one stream and responses are sent (or received) on a different stream. The data is the stream. Each data stream can be closed, independently. A proxy like Envoy is going to receive requests on one stream and receive responses on a completely different stream. In both cases, Envoy is downstream to whatever sent those messages. All messages go downstream (because the messages are the stream). Now, we could reasonably make an analogy in 1995 that the Internet reflects a geologic system of rivers where all messages are like fish that swim through those rivers, and then maybe claim that every HTTP request is a salmon making its way upstream to spawn and die so that the next generation can come back in the form of fingerling responses. Sure, we could have defined that. That's why we had to write down the definitions that the WG did agree upon. Because someone made us do it. But it's not 1995 any more. It's 30 years after the point where salmon would be considered a viable analogy worth documenting the one Internet standard that defines almost the entire space of this product (an HTTP proxy). When a single product's documentation uses terms that directly conflict with the Internet standard upon which the product is entirely dependent, there is no confusion about which one is wrong. We don't need to clarify that. ....Roy
Received on Thursday, 16 October 2025 19:47:37 UTC