Re: Suggestions for HTTP/2, RFC 9113, Section 2.

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