WebSocket 流量编码 (GZip)

2024-02-21

StackOverflow 在其所有页面上使用 GZip 编码;他们的 websocket 流量似乎也是如此,因为它似乎完全混淆了。

他们将如何/使用什么来实现这一目标;相反,因为我的 websocket 服务器托管在自己的独立服务器上,没有 IIS 等,所以我需要做什么才能实现相同的目标?

还值得注意的是http compression也没有在他们的 websocket 连接请求上设置。


完整日志截图:http://i44.tinypic.com/19s4yr.jpg http://i44.tinypic.com/19s4yr.jpg


根据 RFC6455,从客户端到服务器的 WebSocket 有效负载必须被屏蔽,服务器到客户端不得被屏蔽。屏蔽是通过使用 32 位掩码进行 XORring 有效负载来完成的。您在日志中看到的值。

烹饪中有一个 WS 扩展,它提供基于帧的压缩(放气)。这与屏蔽无关。具有每帧压缩功能的有效负载会压缩有效负载,然后屏蔽有效负载(客户端到服务器)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebSocket 流量编码 (GZip) 的相关文章

  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • 在 Apache 上设置 websocket?

    所以我正在对 websockets 进行一些研究 我有几个问题似乎找不到明确的答案 如何在 Linux 服务器上设置 Web 套接字 有 Apache 模块吗 我可以吗have使用第 3 方 PHP 代码或类似代码 除了浏览器兼容性之外 问
  • 使用 WebSocket 是否会产生服务器成本?

    我已经离开了 PHP MySQL 的舒适区 因为语法 封装 过程的东西可能会让人沮丧 上周 我开始尝试并按照一些教程使用 Node js Socket IO 创建实时聊天应用程序 到目前为止 我从未使用过 WebSockets 做过任何事情
  • 如何测试“If-Modified-Since”HTTP 标头支持

    使用 PHP 如何准确测试远程网站supports If Modified Since HTTP 标头 据我所知 如果您获取的远程文件自标头请求中指定的日期以来已被修改 它应该返回 200 OK 状态 如果尚未修改 则应返回 304 Not
  • 除了 GET 和 POST 之外,如何从浏览器向 RESTful 应用程序发送任何内容?

    我没有得到 RESTful 的东西 是的 我知道如何从浏览器向我的应用程序发送 GET 请求 这是通过 URL 链接 a href user someone 并且还可以通过form方法发送POST请求 a
  • 在 Go 中跟踪 HTTP 请求时指定超时

    我知道通过执行以下操作来指定 HTTP 请求超时的常用方法 httpClient http Client Timeout time Duration 5 time Second 但是 我似乎不知道在跟踪 HTTP 请求时如何执行相同的操作
  • 我应该使用多个 HttpClient 来进行批量异步 GET 请求吗?

    我有一个场景 我需要在尽可能短的时间内发出大量 GET 请求 想想大约 1000 个 我知道通常最好保留一个客户端并尽可能重用它 Create Single HTTP Client HttpClient client new HttpCli
  • 如何禁用 HTTP 的 HSTS 标头?

    我已将以下内容插入到我网站的 htaccess 中 以便能够访问HSTS预加载列表 https hstspreload appspot com
  • 在读取正文之前拒绝 HTTP 请求

    我正在开发一个网站 用户需要上传一些非常大的文件 该网站是用 PHP 编写的 在某些情况下 我想根据标头拒绝文件 理想情况下 我想在收到标头后立即拒绝请求 而不读取正文 如果标头足以表明该文件应被拒绝 则没有理由读取 200M 的文件 此外
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 面向服务的架构 - AMQP 或 HTTP

    一点背景 非常大的整体 Django 应用程序 所有组件都使用相同的数据库 我们需要分离服务 以便我们可以独立升级系统的某些部分而不影响其余部分 我们使用 RabbitMQ 作为 Celery 的代理 现在我们有两个选择 使用 REST 接
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • 通过 PHP 连接到 socket.io(nodejs)

    我需要通过 php 连接到 websocket 发送数据并立即断开连接 无需等待套接字的响应 我用了大象io http elephant io 但更新库后不起作用 请告诉我如何通过 PHP 连接到 websocket 我也遇到了这个问题 学
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • Node.js:server.setTimeout、server.timeout 和 server.keepAliveTimeout 之间有什么区别

    官方文档是here https nodejs org api http html http server settimeout msecs callback server setTimeout 中没有提及有关服务下一个请求的信息 所以我认为
  • 我可以使用 HTTP 范围标头“有意”加载部分文件吗?

    我正在研究 HTTP 范围标头 specs http www w3 org Protocols rfc2616 rfc2616 sec14 html sec14 16 据我了解 我可以设置文件的字节范围ala 0 199 2000 200
  • Django HTTPS 和 HTTP 会话

    我使用 Django 1 1 1 和 ssl 重定向中间件 通过 HTTPS 创建的会话数据 身份验证等 在站点的 HTTP 部分中不可用 无需将整个站点设置为 HTTPS 即可使其可用的最佳方法是什么 这是设计使然 您无法轻易更改 当通过
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • 注册期间现有电子邮件的 422 或 409 状态代码

    我正在构建 RESTful API 遇到了一种情况 在用户注册期间 如果电子邮件已存在 则在422 and 409哪个http响应代码有意义 我浏览过类似的one https stackoverflow com questions 9269

随机推荐

  • awk 查找重叠

    我有一个包含列的文件 如下所示 Group Start End chr1 117132092 118875009 chr1 117027758 119458215 chr1 103756473 104864582 chr1 10509379
  • 寻找 C++ 中搜索和替换的圣杯

    最近 我正在寻找一种替换字符串中标记的方法 这本质上是查找和替换 但至少还有一种解决问题的方法 看起来像是相当平庸的任务 我已经提出了几种可能的实现 但从性能的角度来看 它们都不能令人满意 最好的成绩是每次迭代约 50us 这种情况很理想
  • 如何从构造函数内的原型对象检索属性

    我认为这个问题本身就很解释 我正在尝试检索构造函数对象内原型对象内部的特定属性 如果我无法检索它 我希望有人能解释为什么我不能检索它 这是来自的代码jsfiddle https jsfiddle net 786ze44b JavaScrip
  • 缩放级别 15 相当于什么?

    出于某种原因 这似乎比我想象的更难找到 我正在使用地图显示 并将缩放级别设置为 15 mapController setZoom 15 不同的缩放级别等于多少距离 我假设是某种对数或指数尺度 如果我选择 1 或 18 作为缩放级别 则地图上
  • DBIx::Class 中的子查询

    我在这上面花了太多时间 但仍然无法让语法起作用 这个 select 语句可以在 DBIx Class 中使用吗 SELECT A id A name count C a id AS count1 SELECT count B id FROM
  • Matplotlib 动画使用 ArtistAnimation 更新标题

    我正在尝试使用 ArtistAnimation 来创建动画 一切都正常 除了set title不工作 我不明白为什么blit False不起作用 我需要去吗 函数动画 https stackoverflow com questions 44
  • 如何为 Angular 6 Bootstrap 4 modal 进行茉莉花单元测试用例

    html
  • 使用 jQuery 重新排序和动画列表项?

    所以 我有一个项目列表 例如 ul li List item 1 li li List item 2 li li List item 3 li ETC 定期触发 ajax 调用 我可能需要重新排序列表 通过使较低的项目之一成为列表中的第一个
  • 使用 C++ 调用不正常地重新启动 Mac OS X?

    如何使用以下命令重新启动 Mac OS XC 不是 Objective C 而不调用任何子进程 不在乎是不是不优雅的 system reboot Is not acceptable as it relies on invoking a pr
  • Oracle复合主键/外键问题

    我在 Oracle 的 1 个表中有一个复合主键 我想为第二个表中的一个表条目创建一个外键 该外键引用第一个表中的复合主键 我收到错误 ORA 02256 关于如何进入这个有什么想法吗 CREATE TABLE groupspersonx
  • Java:如何在 Spring 框架中声明嵌套映射?

    例如 您将如何声明一个三重映射 例如 Map
  • 为什么 PyCharm 在此处使用 @property 时会发出警告?

    在教程中 我看到了两种用于使用 property 的实例属性命名类型 这是显示两者示例的代码 它们的工作方式似乎也不同 class A def init self x self x x property def x self return
  • 循环内部 lambda

    我需要尽可能简化我的代码 它需要是一行代码 我需要在 lambda 表达式中放置一个 for 循环 如下所示 x lambda x for i in x print i 以防万一 如果有人正在寻找类似的问题 这里给出的大多数解决方案都是一行
  • 如何像instance_eval方法一样在块中更改self?

    instance eval 方法在其块中更改 self 例如 class D end d D new d instance eval do puts self print something like
  • 500 服务器错误的角度处理

    如何修改我的 http 调用以处理 捕获 500 个服务器错误 我尝试调用 API 但在函数的 err 部分收到 500 内部服务器错误 如果可能的话 我希望能够捕获它 但不确定如何捕获 有没有一种简单的方法可以做到这一点 call htt
  • WiFi TCP 连接从桌面传输到 Android 的垃圾数据

    我一直在四处寻找 但无法找到解决这个特定问题的方法 如果这是一个新手错误 请原谅我 我刚从学校毕业 所以我正在阅读尽可能多的书籍来赶上移动设备编程 目标 将数据从基于 PC 的套接字服务器无线传输到基于 Android 的客户端 802 1
  • Delphi Rtti:如何从 TObjectList 获取对象

    我正在开发一个自定义类到 xml 转换器 要求之一是能够进行流式传输TObjectList
  • 如何在 Ansible playbook 中将变量作为 JSON 对象键传递?

    我正在尝试执行curl命令将变量作为 JSON 正文中的键 但该变量没有被值替换 因此我收到错误400 tasks name set source tag uri url https api v2 source method POST bo
  • JavaScript:使用 openpgp.js 解密 GnuPG 加密文件的内容

    我正在尝试使用 JavaScript 为 GnuPG 加密文件编写一个示例解密器openpgp js https github com openpgpjs openpgpjs 所以我天真地尝试了一下 甚至没有问是否可能 我制作了以下页面 弹
  • WebSocket 流量编码 (GZip)

    StackOverflow 在其所有页面上使用 GZip 编码 他们的 websocket 流量似乎也是如此 因为它似乎完全混淆了 他们将如何 使用什么来实现这一目标 相反 因为我的 websocket 服务器托管在自己的独立服务器上 没有