- From: Rupinder Singh <rupi.pal@gmail.com>
- Date: Thu, 4 Jan 2024 12:19:36 +0530
- To: Martin Thomson <mt@lowentropy.net>
- Cc: ietf-http-wg@w3.org
- Message-ID: <CAKguLS4kE8HfQmtvU9trTCU=68WmExv00T8dcDbAS8ixL7b47g@mail.gmail.com>
Hi Martin, Thanks for your reply. I was aware of that kind of assumption/distinction/possibility because 9113 itself does try to clarify that. So, we are basically saying that HTTP/2 (9113) is not a standalone protocol, and that the HTTP semantics need to be read from 9110 in conjunction ( which is apparently made clear here: "Those semantics are expressed “on the wire” in three ways" https://httpwg.org/specs/ ; and, it appears, not so explicitly in 9113 itself). One chief HTTP semantic being that it is stateless, including w.r.t. authentication. In other words, 9113 doesn't concern with the semantics themselves, but the mapping to the TCP layer; one may say, it deals with the frame layer. Being so it isn't at the application-layer (HTTP semantics), but inserted at a layer between the application-layer & the TCP layer Which is where I am trying to bring to notice that, then, HTTP/2 can't being called specifically technically "application-layer," though it is connection-oriented. Were HTTP 1.1 ( 9112) ready to leave the HTTP semantics entirely to 9110 and concern itself entirely with "the wire, " it can describe itself as connection-oriented too. It doesn't [https://httpwg.org/specs/rfc9112.html]. There might be historical reasons (e.g., backward compatibility) for that too. But we can bring that clarity vis-a-vis HTTP/2. When we say HTTP (or HTTP 1.1) is stateless, we mean HTTP, at the application layer, admits no idea of session-state or connection-state; there could be connections at the lower TCP layer. Kind regards. Rupinder On Thu, Jan 4, 2024 at 10:46 AM Martin Thomson <mt@lowentropy.net> wrote: > Hi Rupinder, > > I think that perhaps you are looking at this more broadly than the > document intends. > > HTTP/2 is a protocol between an HTTP client and server, as opposed to user > agent or origin server or proxy or intermediary (or any of those terms that > HTTP uses). As a definition of a single "hop", using connection-oriented > is entirely appropriate. For instance, while HTTP itself is stateless, > HTTP/2 uses a connection-oriented method to convey HTTP semantics. > > A lot of the older HTTP literature did not properly distinguish between > HTTP in general and the specific HTTP/1.1 protocol. A lot of that has been > carefully cleaned up with the publication of RFC 9110, so I'd encourage you > to read the document with that in mind. > > Cheers, > Martin > > On Sat, Dec 30, 2023, at 04:56, Rupinder Singh wrote: > > Hello, > > > > Most respectfully. I've the following suggestions w.r.t. HTTP/2, RFC > > 9113, Section 2. > > > > 1. "HTTP/2 is a connection-oriented application-layer protocol..." > > > > HTTP/2 is a stateless application-layer protocol... > > > > 2. Sub-section 2..2. The term "endpoint" may not be equated with a > > client or server. The term endpoint refers specifically to a URI at the > > application layer. By extension/overloading, it also refers to the > > proxy software ( e.g., class) abstracting the endpoint. It can't refer > > to the client IP address + port or to the server IP address+port that > > actually sets up the TCP connection at the transport layer. And a > > typical web client like a user agent/client (e.g. browser) doesn't have > > a URI. Yes, maybe, the term endpoint can be used for the addresses of > > the other stateless protocols, e.g., simply, an IP address at the IP > > layer. > > > > 3. In the traditional HTTP 1.1 literature as well as software > > documentation, the term HTTP connection or HTTP session are used. > > However, from the context, it is clear that they refer to the > > connection/session at the TCP layer, not at the the HTTP/application > > layer itself, where communication exchange is > > stateless/connectioness/sesssionless (simply Request-Response; or > > additionally a Server push as in HTTP/2). We may clarify the > > terminology in this RFC accordingly. > > > > > > Kind regards, > > Rupinder Singh > >
Received on Thursday, 4 January 2024 06:50:20 UTC