Re: HTTP/2 response completed before its request

>>Ah. The client received a full and complete response from the server. In
>>the face of a RST_STREAM / NO_ERROR, there's no reason for it to discard it.

In this case the client received an END_STREAM from the server since
it received a full response.

The stream was in the half-open (local) state on the client and
half-open (remote) state on the server.

> Let END_STREAM mark orderly mutually understood closes, and keep RST
> for when things actually go wrong in some bad way.

The server can't send END_STREAM because it's already closed from it's
side, RST is the only option if it ones to tear down state before the
client finishes sending the request.

The client can't send END_STREAM to close the response early since
that would not differentiate an incomplete payload body from a
complete one. It would need to send RST to indicate early termination
of the payload.

Received on Tuesday, 1 July 2014 20:28:07 UTC