首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebSocket数据压缩

WebSocket数据压缩
EN

Stack Overflow用户
提问于 2011-09-21 16:57:30
回答 4查看 4.8K关注 0票数 10

WebSocket是否支持数据压缩以节省带宽?有哪些可用选项?一种可能的解决方案是使用Bijson来代替Json。

EN

回答 4

Stack Overflow用户

发布于 2011-09-21 17:14:22

Websockets节省带宽的第一种方式是让连接对多个(双向)消息开放。只要需要,连接就可以保持打开状态。这意味着不需要像旧的http方法那样为每个事务协商新的连接。消息本身具有标头信息,该信息指定传入消息是文本消息还是二进制消息,以及“有效负载”有多长。

您可以让您的服务以任何您想要的方式解释消息。特定的压缩相关数据可以通过扩展来表示:参见标准的第9节:https://datatracker.ietf.org/doc/html/draft-ietf-hybi-thewebsocketprotocol-15#section-9

标准组织已经为压缩扩展制定了一个工作草案:https://datatracker.ietf.org/doc/html/draft-tyoshino-hybi-websocket-perframe-deflate-00

票数 3
EN

Stack Overflow用户

发布于 2011-09-26 22:22:40

当前的WebSockets协议草案不包含压缩扩展。以前有一个: deflate- stream,它通过压缩整个WS流来工作。这样做的效果是有限的,因为WS引入了客户端到服务器的帧掩码,每个帧的掩码都会发生变化,这样,deflate就不能保持有效的压缩字典。

有一个关于基于帧的压缩的草案,它解决了这个问题,因为压缩字典是在屏蔽之前为有效负载维护的。

票数 3
EN

Stack Overflow用户

发布于 2011-09-21 17:07:53

WebSocket规范允许扩展,例如deflate-stream。但是,客户端和服务器可能支持也可能不支持。

您可能希望使用基于javascript的Zip或其他压缩算法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7497133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档