Re: 0-RTT Design for HTTP/2

Hi Martin,

On Wed, Dec 16, 2020 at 06:11:58PM +1100, Martin Thomson wrote:
> As part of our adoption call for HTTP/2 (reprise), I opened https://github.com/httpwg/http2-spec/issues/781 regarding the use of TLS early data.
> 
> I thought that it might be worth the time to go through the exercise of defining an extension to h2 that enabled saving of settings across connections.  Here it is:
> 
>    https://martinthomson.github.io/h2-0rtt/draft-thomson-httpbis-h2-0rtt.html

I'm confused, maybe due to some of my limitations regarding the language,
but I'm really confused by the fact that TLS is mixed in, and my knowledge
of TLS is rather limited and seeing some parts speaking about TLS tickets
totally lost me.

My understanding was that if the server advertises EARLY_DATA_SETTINGS=1,
then the client would assume the server kept the same settings. In my
opinion this should be sufficient to let the client safely reuse these
values for next connections. And BTW, this shouldn't prevent the server
from emitting its settings frame anyway so that the client can check if
anything changed.

I see that Cory mentioned the fact that most implementations do not see
the TLS layer, I can confirm this. For example in haproxy, h2 works on
top of a streaming transport protocol. It can be plain or TLS on top of
TCP, UNIX or socketpairs, we don't care. Early data, if any, are retrieved
by the TLS layer and are prepended in front of the other data (more or
less some details I don't remember regarding the necessary controls to
figure whether or not some early data were involved for the request).

Anything more complicated will likely become a showstopper I'm afraid.

Maybe I misundersood something in the proposal, though.

Cheers,
Willy

Received on Saturday, 19 December 2020 17:18:53 UTC