Implement 425 Too Early |
|||
Issue descriptionhttps://tools.ietf.org/html/draft-ietf-httpbis-replay-02 describes an HTTP error code that allows the origin to reject a 0-RTT request and to instruct the browser to resend the request as 1-RTT. We should implement this error code so that both QUIC and TLS 1.3 can use it. The draft is in the working group last call, and I do not expect any substantial changes to the behavior. The spec does not say what the user agent is supposed to do when the 425 is sent in response to a non-0-RTT response. Firefox appears to have went with "only handle it if the server has accepted 0-RTT": https://bugzilla.mozilla.org/show_bug.cgi?id=1406908 -- this seems reasonable. I have some implementation thoughts I'll write down here later.
,
Nov 29 2017
I don't think HttpNetworkTransaction currently knows when we used a 0-RTT method to send a request?
,
Nov 29 2017
I agree that's the right layer, just think there may be a little more involved here than retrying on all 425s. We could retry on any 425, though then we might break the 1 in 10 million requests that currently receive a 425 response in the wild.
,
Nov 29 2017
Right, on the QUIC side a lot more work is needed because all of their 0-RTT logic needs to get lifted up. On the TLS 1.3 side, we're putting 0-RTT in there to begin with, because that's the only place it can go.
,
Nov 30 2017
Should we add a method to HttpStream to expose if the request was sent as early data (over 0-RTT)?
,
Nov 30 2017
rch: It's late over in CAM, but let's sync up sometime. Steven and I were going to write something up for you, but we never ended up doing that. :-) The changes are quite a bit more involved than that.
,
Nov 30 2017
Heh. Makes sense. Drop something on my calendar?
,
Jul 6
,
Jul 6
|
|||
►
Sign in to add a comment |
|||
Comment 1 by davidben@chromium.org
, Nov 29 2017