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

Closed
wants to merge 4 commits into
from

2 participants

@fancycode

This adds support for arbitrary WebSocket extensions and implements per-frame DEFLATE as specified by http://tools.ietf.org/id/draft-tyoshino-hybi-websocket-perframe-deflate-05.txt and implemented for example by Chrome.

@bdarnell
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 http://datatracker.ietf.org/doc/draft-ietf-hybi-permessage-compression/ 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.

@fancycode

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
Closed

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.
576c1c4
@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