HTTP/2 : problem with section 3.5 Connection setup magic

I am attempting to implement the magic from section 3.5 and run into a 
bit of potential trouble.

In section 3.5 clients are required to send an explicit set of 24 magic 
octets, which happens to include the string "HTTP/2.0" as a fake HTTP/1 
request. This clashes somewhat with the temporary requirements in 
section 3.1 where experimental implementations are required to emit the 
version identifier "HTTP-draft-04/2.0" in places interpreted by other 
protocols such as this magic when seen by 1.1 servers. It is unclear 
whether we are to send the magic octets *exactly* as defined in their 
opaque blob form, or whether we send magic octets adjusted with the 
draft-specific temporary string.

It would seem we are intended to treat that magic as an opaque blob to 
be sent. But that removes a good chance for early implementations to 
determine which draft framing is about to arrive.

I think this particular section 3.5 needs a second explicit note to the 
effect that the opaque blob should be adjusted for the draft-specific 
identifier.

Amos Jeffries

Received on Monday, 15 July 2013 13:01:54 UTC