| 1 | | according to the spdy protocol In data frame flag = 0 is invalid |
| 2 | | |
| 3 | | 2.2.2 Data frames |
| 4 | | |
| 5 | | +----------------------------------+ |
| 6 | | |C| Stream-ID (31bits) | |
| 7 | | +----------------------------------+ |
| 8 | | | Flags (8) | Length (24 bits) | |
| 9 | | +----------------------------------+ |
| 10 | | | Data | |
| 11 | | +----------------------------------+ |
| 12 | | |
| 13 | | Control bit: For data frames this value is always 0. |
| 14 | | |
| 15 | | Stream-ID: A 31-bit value identifying the stream. |
| 16 | | |
| 17 | | Flags: Flags related to this frame. Valid flags are: |
| 18 | | |
| 19 | | 0x01 = FLAG_FIN - signifies that this frame represents the last frame to be transmitted on this stream. See Stream Close (Section 2.3.7) below. |
| 20 | | Length: An unsigned 24-bit value representing the number of bytes after the length field. The total size of a data frame is 8 bytes + length. It is valid to have a zero-length data frame. |
| 21 | | |
| 22 | | Data: The variable-length data payload; the length was defined in the length field. |
| 23 | | |
| 24 | | Data frame processing requirements: |
| 25 | | |
| 26 | | If an endpoint receives a data frame for a stream-id which is not open and the endpoint has not sent a GOAWAY (Section 2.6.6) frame, it MUST issue a stream error (Section 2.4.2) with the error code INVALID_STREAM for the stream-id. |
| 27 | | If the endpoint which created the stream receives a data frame before receiving a SYN_REPLY on that stream, it is a protocol error, and the recipient MUST issue a stream error (Section 2.4.2) with the status code PROTOCOL_ERROR for the stream-id. |
| 28 | | Implementors note: If an endpoint receives multiple data frames for invalid stream-ids, it MAY close the session. |
| | 1 | |