Support WebSocket extensions, implemented per-frame DEFLATE. #668

wants to merge 4 commits into

2 participants


This adds support for arbitrary WebSocket extensions and implements per-frame DEFLATE as specified by and implemented for example by Chrome.

tornadoweb member

The per-frame compression spec is not finalized yet; draft-tyoshino-hybi-websocket-perframe-deflate-05.txt is nearly a year old. It's been superseded by which is in turn going through a major revision right now (which actually reverts a lot of the changes between what you've implemented and the current spec). I don't want to include a compression implementation until the spec is finalized.


That's right, however the perframe-deflate is available right now in Webkit/Chrome M24, so supporting it would help reducing bandwidth for these users ;-)

Also the code changes to integrate arbitrary WebSocket extensions should be flexible enough to remove the perframe-deflate handler and switch to permessage-compression once it is ready without having to change too much code.

@shenfeng shenfeng referenced this pull request in http-kit/http-kit May 13, 2013

Deflate-frame support #50

@bdarnell bdarnell added the websocket label Jul 16, 2014
@bdarnell bdarnell added a commit that closed this pull request Jul 27, 2014
@bdarnell bdarnell Implement permessage-deflate websocket extension.
Parameters to the extension are not fully supported (the client side
supports client_no_context_takeover which is mandatory to implement,
but the server rejects any parameters offered by the client, and neither
side supports setting wbits).

Closes #308.
Closes #668.
@bdarnell bdarnell closed this in 576c1c4 Jul 27, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment