Subject: Re: Question about Connection Reuse in RFC7540 / HTTP/2

From: "Martin Thomson" <[email-masked]>
Date: Thu, 12 Dec 2019 12:09:13 +1100

(IETF to BCC, moved to HTTP WG)

On Thu, Dec 12, 2019, at 04:08, Jonas Hünig wrote:
> My question is, if there is any specific reason this [retry on 421] is not mandatory 
> declared in the RFC for clients as this results in creating situations 
> in where some clients are not getting the resource at all but are 
> behaving in harmony with with HTTP/2

Making a new request is not generally something HTTP can require.  For instance, though 302 is usually handled by making a new request, some clients do stop and return the 302 status code.  This part of client behaviour is not something that the HTTP specs attempt to proscribe.  HTTP is just too diverse to have firm requirements of that nature.

The Fetch spec might have something else to say about the particular case you describe, however.  The goal is to reduce the amount of this style of variance between implementations of the web platform.  Maybe asking the same question as an issue on https://github.com/whatwg/fetch/issues would result in some changes.  I've cc'd the Fetch editor, who might have more insights on how you might best contribute there.

---

From: Anne van Kesteren <[email-masked]>
Date: Thu, 12 Dec 2019 17:43:11 +0100

On Thu, Dec 12, 2019 at 2:09 AM Martin Thomson <[email-masked]> wrote:
> I've cc'd the Fetch editor, who might have more insights on how you might best contribute there.

Thanks for bringing this to my attention. 421 is being tracked in
https://github.com/whatwg/fetch/issues/497. Per
https://whatwg.org/working-mode#changes what's missing are tests and
someone with a good handle on the requirements willing to do the work.

(This is somewhat timely as we're (re)considering upload streams and
for those retries won't always work so we'll have to carefully
consider what to do.)