Re: Post before acking settings?

On 27 April 2016 at 12:22, Jesse Wilson <jesse@swank.ca> wrote:
> Should a well behaved HTTP/2 client wait to ack the server’s SETTINGS before
> sending other frames?

No.  The protocol needs to operate correctly without settings, and
blocking on the ack adds additional latency.

Though nginx is within its rights to refuse any stream; it should not
be using a lack of settings acknowledgment as the basis on which it
refuses.  Refusing in this context adds significant latency during a
time when extra latency costs a lot.

In the end, I think that nginx might be at fault here.  However, while
I get that the complexity of retry is awful, it's probably the nicest
overall outcome for you, since you are going to encounter
`REFUSED_STREAM` in future.  Consider also the other situations where
retry helps, like GOAWAY:
https://http2.github.io/http2-spec/index.html#Reliability

Received on Wednesday, 27 April 2016 03:25:35 UTC