JSON.stringify显然不是非常节省空间。例如,当[123456789,123456789]可能需要大约5个字节时,它将占用20+字节。websocket是否在发送到流之前压缩其JSON?
从本质上讲,WebSocket只是用于TEXT或BINARY数据的一组框架。
它本身不执行压缩。
但是,WebSocket规范允许扩展,并且野外有各种各样的压缩扩展(其中一项的正式规范已最终确定)。
截至今天(2018年8月),压缩规范为permessage-deflate。
permessage-deflate
在野外看到的一些扩展:
x-webkit-deflate-frame
perframe-deflate
值得注意的是,permessage- deflate扩展是在一个线PMCE(每个消息被压缩扩展)的第一,最终将包括其它压缩方案(正在讨论那些是permessage-bzip2,permessage- lz4和permessage-snappy)
permessage- deflate
permessage-bzip2
permessage- lz4
permessage-snappy