review: http2-10

Hi,

Julian asked me to do a review on the current draft of the HTTP/2 . 
My apologies, if my comments may have been discussed on the mailing list already. I tried to search the mailing list for answers, deleted some of the remarks I had noted down but still may have missed some threads.

4.3),  paragraph 7
> Header blocks MUST be transmitted as a contiguous sequence of frames, with no interleaved frames of any other type or from any other stream.
Me not being very familiar with the current state of http2, I was puzzled by the question: Why no interleaved frames?
I read mostly to the end and ahead into the referenced specs to deduce the reason: Header compression! 
I would like to see an informative sentence spent here about the stateful nature of header compression.


6.4) RST_STREAM
Is there a reason that this frame type does not carry an optional debug data field, like GOAWAY does? I can image same situations and use cases on both.
Speaking of debug data: Maybe the spec should advise about a reasonable default data format? Like a default encoding for text based data?


6.8), paragraph 4
> After sending a GOAWAY frame, the sender can discard frames for new streams. However, any frames that alter connection state cannot be completely ignored. For instance, HEADERS, PUSH_PROMISE and CONTINUATION frames MUST be minimally processed to ensure a consistent compression state (see Section 4.3)
The term "compression state" is undefined at this point. It results implicitly from the referenced header compression spec. That's another indicator that section 4.3 should tell something about the stateful nature of header compression.


Best regards,
Michael Köller

Received on Thursday, 3 April 2014 19:36:40 UTC