问题标签 [http-compression]

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 投票
1 回答
203 浏览

java - 测试服务器 HTTP 1.1 压缩

我想了解我正在与之交谈的网站的 HTTP 1.1 压缩。我需要在 Java 中以编程方式进行。

我想知道的是:服务器是否支持对传入请求进行压缩?服务器是否支持响应压缩?

提前致谢。

0 投票
3 回答
1577 浏览

wcf - 我可以在 WCF 中使用压缩吗?


我们使用httpBasicBinding在 IIS 5.1 wndows xp sp3 中托管 WCF 服务。
传输的数据量很大,每 1 分钟传输一次。

为了减少数据传输是否可以使用默认的 http 压缩来压缩 WCF 服务的响应?我可以有一些在 WCF 中使用 http 压缩的示例代码/文章吗? nRk

0 投票
1 回答
1931 浏览

php - 如何在 PHP 的 HTTP 响应中发送压缩(ASCII)数据

我正在编写一个将数据作为响应发送给客户端的服务。

我正在发送文本(PLAIN ASCII)数据,但我想先压缩数据(使用任何标准压缩例程),然后使用 header() 函数等将压缩数据发送回服务器。

我对 PHP 比较陌生,所以收集了数据后,我知道需要知道如何将(压缩的)数据以 HTTP 响应发送给用户

这是我到目前为止的伪代码:

任何有经验的 PHP 编码员都可以告诉我上面的 1 -5 使用哪些语句吗?

0 投票
4 回答
661 浏览

http - 分布式文件压缩

我一直在考虑数据冗余,只是想在我继续这样做之前把所有的东西都写下来(此外还要仔细检查这个想法是否已经付诸实践)。

好了,就到这里吧。

互联网上充斥着冗余数据,包括文本、图像、视频等。因此,gzip 和 bzip2 通过 HTTP 进行动态压缩和解压缩已经付出了很多努力。像 Google 和 Facebook 这样的大型网站拥有整个团队,他们致力于加快页面加载速度。

我的“问题”与压缩仅基于每个文件gzip file.txt产量file.txt.gz)这一事实有关。毫无疑问,散布在互联网上的看似无关的数据之间存在许多共性。如果您可以存储这些公共块并在客户端或服务器端组合它们以动态生成内容怎么办?

为了能够做到这一点,人们必须在 Internet 上找到最常见的数据“块”。这些块可以是任何大小(这里可能有一个最佳选择),并且结合起来,需要能够表达任何可以想象的数据。

出于说明目的,假设我们有以下 5 块常见数据 - a, b, c, d, and e. 我们有两个文件包含这些块。我们有名为chunkand的程序combinechunk获取数据,通过 bzip2、gzip 或其他一些压缩算法对其进行压缩,并输出包含所述数据的块(压缩后)。combine扩展块并解压缩连接的结果。以下是它们的使用方法:

例如,当通过 HTTP 发送文件时,服务器可以chunk将数据发送给客户端,然后客户端可以combine处理分块数据并呈现它。

有没有人尝试过这个?如果不是,我想知道为什么,如果是,请发布您如何使这项工作。一个不错的第一步是详细说明您如何弄清楚这些块是什么。一旦我们弄清楚了如何获取这些块,然后我们就会弄清楚这两个程序chunkcombine可能如何工作。

我可能会对此给予赏金(取决于接收),因为我认为这是一个非常有趣的问题,具有现实世界的影响。

0 投票
2 回答
130 浏览

caching - 基于文件系统的压缩缓存——这存在吗?

我正在寻找一个具有非常特定功能的程序,希望它存在,所以我不必自己实现它。我可以将这个假设的程序最好地描述为工作目录中文档压缩副本的基于文​​件系统的缓存。我已经制作了一个我希望这个程序做的模型:

我最关心的是缓存静态文件的压缩副本,这些副本通过启用内容编码的 HTTP 重复传输。每次请求文件时,我都不想计算压缩率。

如果存在与上述类似的东西,我仍然希望指出正确的方向——我的谷歌搜索非常不成功(也许上述功能有我不知道的术语)。

0 投票
5 回答
35627 浏览

asp.net - 如何使用 IIS 7.5 压缩来自 ASP.NET MVC 的 Json 结果

我很难让 IIS 7 正确压缩来自 ASP.NET MVC 的 Json 结果。我在 IIS 中启用了静态和动态压缩。我可以用 Fiddler 验证普通的 text/html 和类似的记录是否被压缩。查看请求,存在接受编码 gzip 标头。响应的 mimetype 为“application/json”,但未压缩。

我发现问题似乎与 MimeType 有关。当我包含时mimeType="*/*",我可以看到响应已正确压缩。如何在不使用通配符 mimeType 的情况下让 IIS 进行压缩?我认为这个问题与 ASP.NET MVC 生成内容类型标头的方式有关。

CPU 使用率远低于动态限制阈值。当我检查来自 IIS 的跟踪日志时,我可以看到它由于找不到匹配的 mime 类型而无法压缩。

0 投票
2 回答
4372 浏览

http - gzip 没有服务器支持?

我已经编写了一个 CSS 服务器,它可以进行最小化和基本的解析/var 替换。服务器正在使用 node.js。

我想从这个服务器压缩我的响应。正如 IRC 中所说,node.js 目前没有 gzip 库,因此我尝试从命令行手动执行此操作(因为我只在不在缓存中时进行 gzip 压缩)。

我将文件数据推送到临时文件,然后使用 exec 调用'gzip -c -9 -q ' + tempFile. 我正确地恢复了压缩数据(似乎),并将正确的Content-Encoding标头发送为'gzip',但 Chrome 报告:

Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error.

此外,一些独立的 gzip 在线测试人员也会失败(不仅仅是 Chrome)。

我假设这是一件简单的事情,我不知道为浏览器生成 gzip 块,因为我从未尝试过手动操作。

任何帮助都会有所帮助。服务器速度极快,但我需要对内容进行 gzip 压缩才能为最终用户获得最佳性能。

谢谢。

更新 我已经验证我Content-Length是正确的

0 投票
5 回答
6933 浏览

iis-7 - 如何以编程方式打开 IIS 的 DynamicCompression 功能?

我正在为我的 Web 应用程序制作安装程序。我的 Web 应用程序大量使用 CSS 和 JS,所以我想为 IIS7/7.5 启用静态和动态 HttpCompression。

它需要2个步骤:

  1. 我可以修改web.config, put<httpcompression>标签,没关系。
  2. 必须在 Windows 功能中打开 DynamicContentCompression 才能使 httpCompression 工作。

静态 HttpCompression 在 IIS7 和 IIS7.5 中默认启用,但动态 HttpCompression 默认不启用(尽管它可用)。我可以手动打开:Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression,但是如何以编程方式打开该 Windows 功能? 我可以在我的安装程序中使用 PowerShell、C#。

知道我怎么能做到这一点吗?谢谢。

0 投票
2 回答
1610 浏览

apache - Web服务器或应用服务器中的gzip压缩?

我在我的 J2EE 环境中使用 Weblogic 应用程序服务器和 Apache Web 服务器,并计划实现响应的 gzip 压缩。

不确定是在 Apache 服务器上还是在 weblogic 上实现压缩。

0 投票
1 回答
689 浏览

codeigniter - 你如何让 Lighttpd 压缩 CodeIgniter 的“干净的 url”?

我在我的测试网站上查看 PageSpeed 并注意到 Lighttpd 没有压缩我的 HTML(但正在压缩我的 javascript 和 css 文件)。我假设这是因为我使用的是 CodeIgniter,它是干净的 url 系统,并且由于请求没有文件扩展名,所以 Lighttpd 没有压缩它的规则。既然如此,我如何让 Lighttpd 压缩我的 HTML?

这是我不应该做的事情吗?或者我需要专门配置 Lighttpd 的东西?