问题标签 [deflate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4815 浏览

iis - 选择 gzip 而不是 deflate 进行 http 压缩是否会影响性能?

我们最近将我们的一些站点从 deflate 切换到 gzip,并注意到我们服务器上的 CPU 负载显着增加。

0 投票
3 回答
3352 浏览

http - http/1.0 和放气/gzip

http/1.0 是否能够处理压缩和 gzip 内容?我已经完成了在我的极简网络服务器中实现 deflate 和 gzip,我真的不知道带有 http/1.0 的浏览器是否能够处理 deflate 和 gzip 压缩内容。

0 投票
2 回答
12788 浏览

merge - 是否有合并两个 GZIP 文件而不解压缩它们的 GZIP 合并?

假设有 a.gz 和 b.gz。

$ gzip_merge a.gz b.gz -输出 c.gz

我想要这个程序。当然,

$ cat a.gz b.gz > c.gz

不起作用。因为a.gz的最终DEFLATE块有BFINAL,b.gz的GZIP头。(参考 RFC1951, RFC1952) 但是如果你取消了 BFINAL,丢掉第二个 GZIP 头并且遍历第二个 gzip 文件的字节边界,你可以合并它。

其实我也想过为这件事写一个开源程序,但是不知道怎么发布。所以我请乔尔做我的项目经理,我给他讲解了我的解释和辩护,他终于明白了我想做什么,但说他太忙了。:(

当然,我可以自己写一个,然后尝试以我的方式发布它。但我不能一个人做这件事,因为我的日常工作属于我雇主的财产。

有志愿者吗?我们可以作为程序员(我)、出版商(你)或程序员(你)、出版商(我)工作。我需要的只是一些信用。我曾经实现过 RFC3320 中描述的通用解压器虚拟机。所以我知道这是可行的。

或者,您可以将我指向那个程序。这对于管理日志文件非常有用,例如将 365(天)gzip 压缩日志文件合并为一个。;)

谢谢。

0 投票
9 回答
136937 浏览

apache - 为什么对 Apache 提供的文本文件使用 deflate 而不是 gzip?

对于 LAMP 服务器提供的 html、css 和 javascript 文件,这两种方法都有哪些优势。有更好的选择吗?

服务器使用 Json 向地图应用程序提供信息,因此需要大量的小文件。

另请参阅在 http 压缩中选择 gzip 而不是 deflate 是否会对性能造成影响?

0 投票
2 回答
2553 浏览

algorithm - 在 deflate 算法中确定块大小的一些好的策略是什么?

我正在编写一个压缩库作为一个小项目,我已经足够远了(我的库可以提取任何标准的 gzip 文件,以及产生兼容的(但肯定不是最佳的)gzip 输出),是时候弄清楚了出一个有意义的块终止策略。目前,我只是在每 32k 输入(LZ77 窗口大小)之后切断块,因为它方便且快速实施——现在我要回去尝试实际提高压缩效率。

Deflate 规范对此只有这样的说法:“当压缩器确定用新鲜树开始一个新块会很有用时,或者当块大小填满压缩器的块缓冲区时,压缩器会终止一个块”,这还不是全部那很有帮助。

我对 SharpZipLib 代码进行了排序(因为我认为这将是最易读的开源实现),发现它每输出 16k 文字就终止一个块,而忽略输入。这很容易实现,但似乎必须有一些更有针对性的方法,特别是考虑到规范中的语言“确定用新鲜树开始一个新块将是有用的”。

那么是否有人对新策略或现有策略的示例有任何想法?

提前致谢!

0 投票
4 回答
21959 浏览

c# - .NET 的 HttpWebResponse 是否会自动解压缩 GZiped 和 Deflated 响应?

我正在尝试做一个接受压缩响应的请求

我想知道当我添加第二行时,我是否必须手动处理减压。

0 投票
1 回答
4655 浏览

c# - 如何在文件的一部分上使用 DeflateStream?

我正在解决我的另一个问题它正在读取 PNG 的“zTXt”块中的数据。我正在查找文件中的块,并阅读 zTXt 的关键字。我无法读取 zTXt 的压缩部分。我以前从未使用过 DeflateStream 对象,并且遇到了一些麻烦。读取时,似乎期望长度参数为“未压缩”字节。然而,就我而言,我只知道“压缩”字节中的数据长度。为了解决这个问题,我将所有需要解压缩的数据放入 MemoryStream 中,然后使用 DeflateStream 进行“读取结束”。现在这简直太棒了,除了它抛出一个 InvalidDataException 消息“块长度与它的补码不匹配”。现在我不知道这意味着什么。

块的格式是 ID(“zTXt”)的 4 个字节,数据长度的大端 32 位 int,数据,最后是我现在忽略的 CRC32 校验和。

zTXt 块的格式首先是以 null 结尾(字符串作为关键字),然后是压缩方法的一个字节(始终为 0,DEFLATE 方法),其余数据为压缩文本。

我的方法接收一个新的 FileStream,并返回一个带有 zTXt 关键字和数据的字典。

现在是怪物:

一旦解决了这个问题,我需要编写一个函数,将这些 zTXt 块添加到文件中。所以希望一旦解决这个问题,我就能理解 DeflateStream 是如何工作的。

非常感谢!!

0 投票
2 回答
2986 浏览

html - zlib 压缩 html 页面的文件扩展名?

使用 zlib (deflate) 压缩的 html 文件在服务器上看起来像什么?它的扩展名是否与 .html 不同?

0 投票
1 回答
1221 浏览

html - 如何使用 Zlib 将 char 数组压缩为压缩的 html 页面

我在 C 中有一个 CGI 应用程序,它通过将 char* 保存为 html 页面来创建 html 页面:

称为

如何使用 zlib 将“outputFile”字符数组作为输入并输出带有适当标题的压缩 html 页面?

是否会在这里使用gzopen而不是我的 saveTextFile 函数?

任何建议表示赞赏。谢谢。

0 投票
3 回答
11943 浏览

apache - 启用 mod_deflate 以发送 Content-Encoding: gzip

编辑我发现问题实际上是php minify。这是发送压缩的内容而不是 Apache。我会找到更多关于这个的。

根据高性能网站,如果我在 Apache 2.x 中启用 mod_deflate,通过添加以下行,它应该发送 gzipped/delfated 内容:-

书上还说gzipdeflate.

我通过添加同一行在 httpd.conf 中启用。但是 Apache 发送Content-Encoding: deflate.

我使用 CURL 进行了测试: -

它返回“压缩”内容。但是当我发送命令时: -

它返回“放气”的内容。

因此,如果浏览器同时支持 deflated 和 gzipped,则 Apache 发送 deflated。如何告诉 Apache 更喜欢 gzip 而不是 deflate?

供参考: -

  • 我在以下位置找不到任何内容: http ://httpd.apache.org/docs/2.0/mod/mod_deflate.html 。
  • Apache conf 中没有出现 no-gzip。
  • 服务器:Apache/2.2.9 (Win32) PHP/5.2.6
  • FF 发送请求标头为:“Accept-Encoding: gzip, deflate”