HTTP 2.0 "Upgrade" flow

> 3.2.  Session Header
>
>  After opening a TCP connection and performing either an HTTP/1.1
>  Upgrade or TLS handshake, the client sends the client session header.
>  The server replies with a server session header.

If the client "knows" that the server is HTTP 2.0 capable (DNS, previous
connection, etc), and wants to skip the HTTP 1.1 Upgrade mechanism and send
"naked" HTTP 2.0 frames from the start (without TLS), I presume it should
still send the session header? As worded above, the behavior is undefined.
I'm guessing, the answer is yes..

> http://tools.ietf.org/html/draft-ietf-httpbis-http2-02#section-2.2
>
> A server that supports HTTP/2.0 can accept the upgrade with a 101
> (Switching Protocols) status code.  After the empty line that
> terminates the 101 response, the server can begin sending HTTP/2.0
> frames.  These frames MUST include a response to the request that
> initiated the Upgrade.

How does this work in light of the client/server session headers? Do we
skip the client session header and send the server session header, followed
by response frames? Or does the client have to wait to get the 101, and
then send the client session header before the connection can proceed?

ig

Received on Sunday, 14 April 2013 21:13:50 UTC