从本质上讲,WebSocket只是用于TEXT或BINARY数据的一组框架。
它本身不执行压缩。
但是,WebSocket规范允许扩展,并且野外有各种各样的压缩扩展(其中一项的正式规范已最终确定)。
截至今天(2018年8月),压缩规范为
permessage-deflate。
在野外看到的一些扩展:
permessage-deflate
-不论websocket框架的数量如何,使用deflate压缩整个消息的形式化规范的名称。x-webkit-deflate-frame
-较早提出的压缩方法,用于压缩每个原始Websocket数据帧。可供Chrome和Safari使用。(现已在Chrome和Safari中弃用)perframe-deflate
-上述压缩的重命名版本。可以在各种Websocket服务器实现中使用,也可以在各种基于WebKit的客户端中简要看到。(在现代浏览器中已完全弃用,但仍在各种WebSocket客户端库中显示)
值得注意的是,
permessage-deflate扩展是在一个线PMCE(每个消息被压缩扩展)的第一,最终将包括其它压缩方案(正在讨论那些是
permessage-bzip2,
permessage-lz4和
permessage-snappy)



