- From: Jeff Pinner <jpinner@twitter.com>
- Date: Tue, 1 Jul 2014 13:27:41 -0700
- To: Poul-Henning Kamp <phk@phk.freebsd.dk>
- Cc: Johnny Graettinger <jgraettinger@chromium.org>, William Chan (ιζΊζ) <willchan@chromium.org>, Martin Thomson <martin.thomson@gmail.com>, Patrick McManus <mcmanus@ducksong.com>, Jesse Wilson <jesse@swank.ca>, HTTP Working Group <ietf-http-wg@w3.org>
>>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