#v9 protocol (draft)
##Handshake and WebChannel Messages
- Handshake response should indicate the content-type of "control" messages and "data" messages. And the handshake response is a JSON message.
- For v9, all control messages will be JSON (application/json) formatted.
Data messages may be binary (protobuf) or JSON (JSPB).
- a candidate format for control messages is "application/cbor" (rfc7049) which offers direct JSON mapping while optimized for efficiency on the client-side.
- CBOR has a pure Java (JDK) implementation, portable for iOS.
- For a given session (HTTP request/response), all data messages will be proceeded by a control message that should contain all the necessary metadata about the data messages that follow the control message.
- In the event of an abort, some data messages may be lost, which is expected.
To minimize the production risk, no change to the existing v8 protocol beyond the above framing-level changes.
Some WS opcodes may not be used by v9, and in v10 we will optimize the signaling signficantly.