问题标签 [brotli]

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 投票
0 回答
238 浏览

python - 将内容附加到 brotli 压缩文件

我正在使用 brotli 压缩器,我想打开一个压缩文件并向其附加更多内容。

到目前为止,我使用了以下测试:

但是,如果我解压缩

代替

foofoo

有没有办法在不解压缩以前的书面内容或告诉它跳过文件头的情况下附加到 brotli 压缩文件?

0 投票
1 回答
815 浏览

java - 如何禁用某些文件的 Tomcat 压缩以提供 brotli 压缩内容?

我只需要对一些文件禁用 Tomcat 压缩。

我们已经org.apache.coyote.http11.Http11Protocol.COMPRESSION开始on压缩各种文件,其中一些是其他战争中的文件,因此将其转换off为不是一个真正的选择。

我可以找到许多关于如何启用压缩的指南,但似乎并不经常禁用它。

我们需要禁用它来提供一些 brotli 预压缩的 font/css/js 文件,这些文件由于 tomcat 不知道Content-Encoding: br、压缩和覆盖它而现在用 gzip 再次压缩Content-Encoding: gzip

0 投票
1 回答
4156 浏览

httprequest - HTTPS 请求的带有接受编码的请求标头的响应标头中缺少内容编码:gzip、deflate、br(按该精确顺序)

我们正在使用 IBM Portal(版本 8.0.0.xx??)。我们有 2 台 IBM 门户服务器位于 2 台 Apache http 服务器后面。在我们的一个 portlet 中,我们有一个包含以下资源的 jsp 文件:

在使用最新版本的 Chrome 和 FF 时,在所有情况下,https 请求标头都具有以下标记:Accept-Encoding:gzip, deflate, br

当 https 响应从服务器返回时,以下资源不会在响应标头中返回内容编码令牌(即content-encoding:gzip

  • jquery-ui.structure.min.css
  • jquery-ui.theme.min.css
  • 包含.css

因此响应正文显示压缩内容,因为浏览器或接收实体假定资源尚未压缩,因此不应用任何解压缩。然后,生成的内容当然会呈现为乱码。这是由于缺少content-encoding: gzip响应标头令牌。

奇怪的是,其他资源:

  • jquery-ui.min.css
  • jquery-1.11.1.min.js
  • jquery-ui.min.js

    content-encoding: gzip所有返回的安全请求都带有正确的令牌,并且响应已正确解压缩。

所有 http 请求都返回正常,只有某些资源失败的 https 请求。

我所做的诊断:

  • 我直接访问了每个门户服务器,安全和不安全请求都没有问题。即使浏览器发送了一个接受编码标头,服务器都没有响应内容编码响应,这意味着它们可能没有进行任何压缩(我猜?)

  • 我已经直接访问了位于门户服务器前面的每个 http 服务器,并且两台服务器都显示了 https 的问题,如上所述

  • 我已经在浏览器内部和外部发送了 https 请求,发送请求并使用了 accept-encoding 标头:
  • Accept-encoding: gzip 作品
  • Accept-encoding: gzip, deflate 作品
  • Accept-encoding: gzip, br, deflate 作品
  • Accept-encoding: br, deflate, gzip 作品
  • Accept-encoding: deflate, br, gzip 作品
  • Accept-encoding: gzip, deflate, br 不工作

  • 我已将我的 Chrome 版本降级到 57 版,我可以看到 https 的接受编码标头是:gzip, deflate, br, sdch哪个有效。切换回最新版本,https 的 accept-encoding 标头更改为 : gzip, deflate, br,但失败。谷歌似乎曾经对所有请求使用 SDCH 数据压缩算法。任何与 '<code>gzip, deflate, br' 不同的东西都可以!

  • 在 59.3 版中,从 Google Chrome 和其他 Chromium 产品中删除了 SDCH 压缩。只要您转到“关于 Chrome”,版本就会自动更新到 Google Chrome 默认强制执行的 64 版。由于 sdch 被删除,它留下了 '<code>gzip, deflate, br' 的有问题的接受编码,它失败了。

  • FF 和 Chrome 有同样的问题。当我检查 http/https 的接受编码时,它与 Chrome 相同:

  • 对于 http 请求:接受编码:gzip, deflate
  • 对于 https 请求:accept-encoding: gzip, deflate, br(br 仅适用于 https)

  • 但是,FF 允许我更改接受编码,如果我将 https 的顺序更改为其他任何内容,即)gzip, br, deflate它可以工作!

  • 此外,这一切都适用于 IE,因为当我检查 https 请求的接受编码时,它是“gzip,deflate”。缺少“br”(brotli 压缩)令牌,因此它可以工作。
0 投票
1 回答
1721 浏览

mime-types - .css.br 的 MIME 类型?

.css.br 文件的正确 MIME 类型是什么?对于“.css”,它是“text/css”,对于“.js.br”,它是“application/x-br”(至少它对我有用)。但是对于“.css.br”有什么用呢?

0 投票
3 回答
9999 浏览

python - 无法解码 Python Web 请求

我正在尝试向我的交易账户发出网络请求。Python 无法解码 Web 请求。Web 请求成功,代码为 200。

这是下面的代码


b"1X\x14\x00\xfe\xa7\x9b\xd3\xca\xbd9-\x12\x83\xbfULS1\x1d8\x9d\x0e\xd4\xcf\xbd\xb8\xd1\xbd4\xc0\x00\x13 ~\x94}\xe4\x81\xa4\x90P\x1cfs\xcd\x1e\xaeG\x9b},m\xbd\t\x84L1\xde\xa8e\x8a\xf1h\x0e\x0c)\x1a\x12\xfb \x06z\xec\x18\xe4r\xa1\x1c\x11\xe8 \xbcO\xec\xe2|\xa6\x90\xa9\xdf\xf2\xe1\xfa\xf3\x1e\x04\x0e\xa2\x8d\ x0e\xc4\tw\xeb\xd9\xba\n\xf1H'l\xeb>\x08\x85L\r\x0cY\xf8\x81D;\x92!o\xfd\xbd\xe3u>3\x10\xe1\ x8c;\xb8\x9e\xceA\xae\x0exX\xc9\x19s\xeb\xe5r~1\x98\xed0\xb8\xdc\xb4\x17:\x14\x96xAn\xb9\xf0\xce\xf2l\\xa6G ?5O\x9b\xf3\xc1\\x1f\x0f\x8fs\x1b/\x17\x1a\x0c[ySAX\x1d'\xe7\xbb\nx\xacR~\xbb\x9f\xe0\x8c?s\xc0 \x8f\xe0\x97\xff\xde'\xc7#\x8f\x97\xaf\xaa%\xf2\xf9\xfaC|\xcf\t\xf3\xeb\xaa\xdcs\xcc\xf5\xa3RM\xbaOY \xf5\x9fe\xfc\x07\xff\x01"

无法解码。尝试了 stakoverflow 上可用的 unicode-utf 8 和各种代码,但失败了。

0 投票
3 回答
2026 浏览

apache - 在 Apache 上使用 Brotli 提供预压缩内容

我已经通过 easyapache 4 在我的 WHM 服务器上安装了 mod_brotli - html、css、js 文件等都被压缩了。

然后我在官方文档中遇到了这个 - https://httpd.apache.org/docs/2.4/mod/mod_brotli.html#precompressed

此后,我将其添加到 WHM (post_virtualhost_global.conf) 中的 Post VirtualHost 包含文件中,而不是 htaccess,因为我希望它是服务器范围的。

如何验证这是否有效并且确实提供预压缩文件?无论哪种方式我都没有找到任何可说的,我只能确认 brotli 压缩正在使用中。无论是否包含包含,CPU 负载几乎相同,因此我怀疑它可能不会为下次保存压缩文件。

这是虚拟主机包括:

这是我的 /etc/apache2/conf.2/brotli.conf

这是/etc/apache2/conf.modules.d/115_mod_brotli.conf

因此,如果有人可以帮助我弄清楚如何确认文件是否已预压缩,那就太好了。

编辑:我认为我的文件没有被预压缩。有人对此有任何进一步的信息吗?我在 akk 上找不到任何更多的帖子或文档

0 投票
1 回答
744 浏览

apache - mod_brotli 和 apache 2.4.33 的编译问题

通过包含对 Apache 2.4.33 的 mod_brotli 支持获得以下问题。

我编译了 brotli,它编译得很好,但是当我在 apache 配置脚本中使用--enable-brotliand启用它时--with-brotli=/apps/httpdx64/brotli。编译 apache 时收到以下错误消息:

请告知我如何解决此错误。

0 投票
1 回答
2903 浏览

java - 如何读取 brotli 压缩字符串?

我从一个网站得到一个 brotli 压缩的 json 字符串。我想解压并阅读它。

当我使用来自响应的输入流时,我可以使用正确读取它

而当我将响应保存在字符串中并阅读它时

我遇到了以下异常:

编辑1:

我尝试使用 Jsoup,发现它只支持 Gzipped 流,不支持其 HttpConnection 类中的 BrotliInputStream。对此有任何指示吗?

0 投票
0 回答
536 浏览

amazon-s3 - 将 Rusoto S3 StreamingBody 读入 Brotli 可以解压的东西

从 AWS S3 请求文件时返回的rusuto_s3StreamingBody版本 0.32不再实现读取。

直到这个版本,brotli::BrotliDecompress(&mut &*would_like_to_pass_this, &mut contents);我将数据从 S3 中取出并放入内容的方式。现在这会导致此错误消息:

错误[E0614]:rusoto_s3::StreamingBody无法取消引用类型

调整brotli::BrotliDecompress(&mut would_like_to_pass_this, &mut contents);使投诉者抱怨:

错误[E0277]:rusoto_s3::StreamingBody::std::io::Read不满足特征界限

该特征std::io::Read未实现rusoto_s3::StreamingBody

这是brotli::BrotliDecompress.

因为 StreamingBody 应该根据文档实现 Stream,所以我尝试使用let bytes = body.concat2().wait().unwrap();.

但是,这失败了:

正如您在完整的代码示例中所见,已添加建议,但结果没有不同。

0 投票
1 回答
210 浏览

r - R 的 Brotli 编译不正确

我正在尝试在 R 中安装 brotli 包。像往常一样,我运行: install.packages("brotli")

但是,由于某种原因,编译似乎没有完成。我现在已经在两个不同的系统上尝试过了(一个在我的 Mac 上,另一个在 EC2 实例上)。以下是错误:

我对 C 语言的熟练程度不如我应该的那样,但我试图对其进行逆向工程但无济于事。我错过了什么吗?我还尝试使用依赖项选项(依赖项 = TRUE)安装它。有人对此有任何想法吗?