- From: Alan Shreve <alan@inconshreveable.com>
- Date: Fri, 29 Nov 2013 16:48:14 +0000
- To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <BLU168-W1096E49644DBEE205EE3625C7E90@phx.gbl>
Unless I'm reading this incorrectly, the spec requires conflicting behaviors on the receipt of DATA frames on streams in the "closed" or "half-closed (remote)" states. Section 5.1 requires that the implementation send a stream error of type STREAM_CLOSED whereas section 6.1 requires the implementation respond with a connection error of type PROTOCOL_ERROR. Can someone clarify the expected behavior? Relevant parts of the spec: Section 5.1: Stream states, subsection "half-closed (remote)": "If an endpoint receives additional frames for a stream that is in this state, other than CONTINUATION frames, it MUST respond with a stream error (Section 5.4.2) of type STREAM_CLOSED." Section 5.1 Stream states, subsection "closed": "An endpoint that receives any frame after receiving a RST_STREAM MUST treat that as a stream error (Section 5.4.2) of type STREAM_CLOSED. Similarly, an endpoint that receives any frame after receiving a DATA frame with the END_STREAM flag set, or any frame except a CONTINUATION frame after receiving a HEADERS frame with a END_STREAM flag set MUST treat that as a stream error (Section 5.4.2) of type STREAM_CLOSED." However, Section 6.1 "DATA": "If a DATA frame is received whose stream is not in "open" or "half closed (local)" state, the recipient MUST respond with a connection error (Section 5.4.1) of type PROTOCOL_ERROR ." - alan
Received on Monday, 2 December 2013 10:22:36 UTC