Dear all,

Applications have always had to deal with the occasional replay,
whether from an impatient user or a broken connection at exactly the
wrong time. But they've generally been rare, so human-in-the-loop
responses work. Order the same book twice? Just return one of them,
and if you get an overdraft fee, ouch, we're sorry, but nothing we can
do.

0-RTT is opt-in per protocol, and what we think of per application.
But it isn't opt-in for web application developers. Once browsers and
servers start shipping, 0-RTT will turn on by accident or deliberately
at various places in the stack.

At the same time idempotency patterns using unique IDs might require
nonidempotent backend requests. But this is an easier problem than if
we had nonidempotent brower requests: backends are much more
controlled.

If you are willing to buffer 0-RTT until completion before going to
the thing that makes the response, you can handle this problem for the
responsemaker. This will work for most applications I can think of,
and you need to handle large, drawn out requests anyway. This sounds
like it would work as a solution, but I am sure there are details I
haven't discovered yet.

In conclusion I think there is some thought that needs to go into
handling 0-RTT on the web, but it is manageable. I don't know about
other protocols, but they don't have the same kinds of problem as the
web does with lots of request passing around. Given the benefits here,
I think people will really want 0-RTT, and we are going to have to
figure out how to live with it.

Sincerely,
Watson Ladd

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to