W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2013

Ambiguity when handling DATA frames on closed streams

From: Alan Shreve <alan@inconshreveable.com>
Date: Fri, 29 Nov 2013 16:48:14 +0000
Message-ID: <BLU168-W1096E49644DBEE205EE3625C7E90@phx.gbl>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
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

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:20 UTC