W3C home > Mailing lists > Public > ietf-http-wg@w3.org > July to September 2014

Re: HTTP/2 response completed before its request

From: (wrong string) 陈智昌 <willchan@chromium.org>
Date: Tue, 1 Jul 2014 10:55:01 -0700
Message-ID: <CAA4WUYi1VdnRUbXBfFhE+0Lm4ADHPKxKr8p5J21bcxEwcKxNjw@mail.gmail.com>
To: Jesse Wilson <jesse@swank.ca>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
This same theoretical problem happens for HTTP/1.X over TCP. If the peers
don't call read() to pull the TCP data into user space, the kernel's TCP
stack will eventually shrink the receive window to 0. Of course, the TCP
receive windows will generally be larger than HTTP/2's initial windows
(64K).


On Tue, Jul 1, 2014 at 10:45 AM, Jesse Wilson <jesse@swank.ca> wrote:

> Cool! So this is a normal case.
>
> One corner case of a corner case is if the server's early response has
> more than a window's worth of data...
>
> Our client wouldn't acknowledge that data because it doesn't start reading
> until it's done writing.
>
> And if the server writes its early response before discarding/resetting
> the request, that write might stall waiting for a WINDOW_UPDATE that won't
> ever come. Deadlock!
>
> (This is probably just a theoretical problem!)
>
Received on Tuesday, 1 July 2014 17:55:27 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 30 March 2016 09:57:08 UTC