README.md: clarify binary vs base64 negotiation.
This commit is contained in:
parent
d1458d0063
commit
c728f43c63
21
README.md
21
README.md
|
@ -11,11 +11,24 @@ the target in both directions.
|
||||||
### WebSockets binary data
|
### WebSockets binary data
|
||||||
|
|
||||||
Websockify supports all versions of the WebSockets protocol (Hixie and
|
Websockify supports all versions of the WebSockets protocol (Hixie and
|
||||||
HyBI). The older Hixie versions of the protocol only support UTF-8
|
HyBi). The older Hixie versions of the protocol only support UTF-8
|
||||||
text payloads. In order to transport binary data over UTF-8 an
|
text payloads. In order to transport binary data over UTF-8 an
|
||||||
encoding must used to encapsulate the data within UTF-8. Websockify
|
encoding must used to encapsulate the data within UTF-8.
|
||||||
uses base64 to encode all traffic to and from the client. This does
|
|
||||||
not affect the data between websockify and the server.
|
With Hixie clients, Websockify uses base64 to encode all traffic to
|
||||||
|
and from the client. This does not affect the data between websockify
|
||||||
|
and the server.
|
||||||
|
|
||||||
|
With HyBi clients, websockify negotiates whether to base64 encode
|
||||||
|
traffic to and from the client via the subprotocol header
|
||||||
|
(Sec-WebSocket-Protocol). The valid subprotocol values are 'binary'
|
||||||
|
and 'base64' and if the client sends both then the server (the python
|
||||||
|
implementation) will prefer 'binary'. The 'binary' subprotocol
|
||||||
|
indicates that the data will be sent raw using binary WebSocket
|
||||||
|
frames. Some HyBi clients (such as the Flash fallback and older Chrome
|
||||||
|
and iOS versions) do not support binary data which is why the
|
||||||
|
negotiation is necessary.
|
||||||
|
|
||||||
|
|
||||||
### Encrypted WebSocket connections (wss://)
|
### Encrypted WebSocket connections (wss://)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue