- From: Rupinder Singh <rupi.pal@gmail.com>
- Date: Thu, 4 Jan 2024 14:33:49 +0530
- To: Martin Thomson <mt@lowentropy.net>
- Cc: ietf-http-wg@w3.org
- Message-ID: <CAKguLS56s_6PM9V3pQspV7+op5ebUhpcXA9RoZqbBFO0-mzf5g@mail.gmail.com>
Hi Martin, Thanks for the understanding. I think the application layer is defined by the URI standard & its resolution by the DNS standard. In the case of HTTP, if it is a client-server pair, it is only the server that needs a URI for carrying out an HTTP exchange. When we say in 9113, "connection: A transport-layer connection between two endpoints." , we need to clarify as to what are the endpoints here. Because, as far as a TCP connection is concerned, an IP address+TCP port pair is the endpoint & a corresponding socket is the corresponding proxy software abstraction. If the term endpoint in 9113 refers to an IP address+port pair, it doesn't refer to an HTTP client or server, as 9113 assumes ( "client: The endpoint that initiates an HTTP/2 connection. Clients send HTTP requests and receive HTTP responses." etc). If it refers to an HTTP client or server, it doesn't refer to the IP+port pairs & it can't refer to an HTTP client either because the client is not required to have a URI. In other words, when we say HTTP client or server, it is clear we are referring to application-layer things, which comply with the stateless HTTP, and thus don't maintain peer-to-peer connection-state or session-state. They initiate TCP connections at the lower layer & then complete an exchange on top of this connection sessionlessly or statelessly. An endpoint at the application layer is simply a URI (with the transfer scheme implicit), and additionally, by correspondence, may refer to the proxy software (e.g., a class) that abstracts the endpoint. I think, if we make that clear, we can see that HTTTP/2 sits in the layer between the application layer & the transport layer, which is also a normal characterization, e.g., TLS. Kind regards Rupinder Singh On Thu, Jan 4, 2024 at 12:24 PM Martin Thomson <mt@lowentropy.net> wrote: > On Thu, Jan 4, 2024, at 17:49, Rupinder Singh wrote: > > 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. > > I like this characterization. > > Yeah, I really don't know about the bit about "application layer". One > view says that the application layer is a broad and welcoming church that > accepts many things and that HTTP/2 is really just a component of HTTP, > which is very much an application protocol. Alternatively, you might > reasonably classify the mapping protocols (/1.1 and /2) as being somewhere > else in the OSI model. It's all a bit academic for me, really. >
Received on Thursday, 4 January 2024 09:04:31 UTC