gpt4 book ai didi

javascript - WebSocket如何压缩消息?

转载 作者:太空宇宙 更新时间:2023-11-04 01:51:40 25 4
gpt4 key购买 nike

JSON.stringify 显然空间利用率不高。例如,[123456789,123456789] 占用 20 多个字节,而它可能只需要大约 5 个字节。websocket 在发送到流之前是否会压缩其 JSON?

最佳答案

WebSocket 的核心只是一组文本或二进制数据的框架。

它本身不执行压缩。

但是,WebSocket 规范允许扩展,并且已经存在各种压缩扩展(其中之一的正式规范已最终确定)。

截至今天(2018 年 8 月),可接受的压缩规范是 permessage-deflate

一些常见的扩展:

  • permessage-deflate - 使用 deflate 压缩整个消息的正式规范的名称,无论 websocket 帧的数量如何。
  • x-webkit-deflate-frame - 一种早期提出的压缩方法,用于压缩每个原始 websocket 数据帧。 Chrome 和 Safari 正在使用。 (现已在 Chrome 和 Safari 中弃用)
  • perframe-deflate - 上述压缩的重命名版本。各种 websocket 服务器实现都在使用,并且 briefly showed up in various WebKit based clients 。 (在现代浏览器中完全弃用,但仍然出现在各种 WebSocket 客户端库中)

值得注意的是,permessage-deflate 扩展是 PMCE(每消息压缩扩展)系列中的第一个扩展,最终将包括其他压缩方案(ones being discussedpermessage-bzip2permessage-lz4permessage-snappy)

关于javascript - WebSocket如何压缩消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49392714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com