问题标签 [content-encoding]

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 投票
3 回答
2113 浏览

fiddler - 如何在提琴手中使用 zlib 解码响应

我知道有,Response body is encoded. Click to decode但它不起作用。

我得到的响应是由zlibnot编码的,gzip并且响应标头中没有Content-Encoding: gzip

现在我可以将响应正文保存到一个文件中,然后将其解码Python,但我真的很想看到fiddler.

我该怎么办?

0 投票
1 回答
159 浏览

http - HTTP 代理是否应该将 Content-Encoding 标头复制回客户端?

据说TransportContent-Encoding自动处理(比如读取时自动解压resp.Body)。

也有人说,Content-Encoding是端到端的 HTTP 标头,而不是逐跳标头。

因此,如果一个代理复制Content-Encoding回客户端的响应头,并且这个代理也是io.Copy上游响应体(可能会自动解压缩,因为io.Copy将从中读取resp.Body),这不会与客户端不一致吗?(Content-Encoding从上游响应复制,但正文已解压缩)

0 投票
2 回答
1658 浏览

gzip - 谷歌云存储 gzip 压缩,错误的标头

刚开始使用谷歌云存储。我在从它接收 gzip 文件时遇到问题。存储的文件经过 gzip 压缩,但会根据要求进行解压缩。我已阅读所有文档、论坛并尝试了数十种不同的标头组合,但在浏览器中获取的文件仍然没有压缩。有人能指出我做错了什么吗?

关于 gzip、标头、转码的文章 https://cloud.google.com/storage/docs/transcoding

我使用此命令将文件移动到存储中

文件在上传文件之前被 gzip 压缩,一旦它被存储,大小会减少 5 倍,我已经在控制台中签入。

浏览器请求标头

响应标头

因此,谷歌设置了自定义标头,内容在存储中被压缩,但它向我发送解压缩的响应,并且没有 Content-Encoding 标头。

不确定我上传文件的方式是错误的,还是缺少一些标题。失落的感觉。链接到文件-> http://lolchamps.tomdid.com/bundle.js

任何帮助将非常感激。

更新:发现了一些有趣的东西,如果我使用谷歌 URL 请求文件 - https://storage.googleapis.com/lolchamps.tomdid.com/bundle.js它返回 gzip 文件,如果通过我的域请求相同的文件它返回解压版。为什么???我闻到了黑魔法。

0 投票
1 回答
50 浏览

gzip - Receiving gzip Content-Encoding with dotNetRDF

How do I tell dotNetRDF to request and accept data from a remote triplestore where the response is encoded using gzip?

Looking at the source code for the LoadGraph method of SparqlHttpProtocolConnector, it doesn't appear to me to have a mechanism for setting the Accept-Encoding header, nor am I seeing any logic that would process a Content-Encoding header.

I tried modifying LoadGraph to set Accept-Encoding, and the content then comes back with the right Content-Type and Content-Encoding, but the line of code that determines how to handle the response is

and GetParser doesn't have any logic that considers the Content-Encoding.

However, it seems like the pieces are present: there's certainly infrastructure in place to process a gzipped file.

Is there another way to do this that I'm missing, or would this be a new feature request?

Thanks.

0 投票
0 回答
86 浏览

amazon-web-services - 从 s3 请求文件,没有 gzip 编码

我有一个小应用程序正在访问 S3 上的文件。我正在处理 3 种不同的文件类型,有些是 gzip 压缩的,有些不是。

我有一些代码正在查看文件类型(不幸的是没有扩展名,所以我必须尝试解码不同的类型)但是添加一些文件是压缩的,而有些文件没有压缩会产生更多的开销。

我希望有一种方法可以从 s3 请求内容编码,但在文档中没有找到任何内容。

如果这是不可能的,是否有一种同步的方式来检查文件的内容编码?我在 s3 对象中看不到任何显示编码的内容,返回的 S3 上唯一的属性是 Content-Type、ETag、Body、Metadata、ContentLength 和 AcceptRanges。

0 投票
2 回答
1259 浏览

c# - 添加 Content-Encoding 作为请求标头后出现 404 错误

我必须将 Content-Encoding 和 Accept-Encoding 作为标头(使用 gzip 压缩)添加到HttpWebRequest对象。通过添加以下行来设置 Accept-Encoding:request.AutomaticDecompression = DecompressionMethods.GZip;就可以了。但是,在使用此行设置 Content-Encoding(我不确定它是否正确完成)后request.Headers.Add(HttpRequestHeader.ContentEncoding, "gzip");,我收到 404 错误。这是我的请求代码:

如果您能帮助我处理该错误,我将不胜感激。

另外,这是我的压缩代码,也许有压缩的东西。

0 投票
0 回答
1129 浏览

amazon-web-services - AWS API Gateway 以 GZIP 形式返回响应

我在 API 网关中部署了一个应用程序,即 APIG -> ELB -> ECS。当我请求 gzip 时,即 Accept: application/json; 接受编码:应用程序/gzip。客户端(浏览器、提琴手)无法读取内容。但是通过 ELB 触发的相同请求是干净的。API Gateway 是否在响应中添加/删除任何字节。谁能帮我调整一下?

@ankit:它与同一个问题有关。但是现在 API 网关具有二进制支持,我将其配置为以这种方式返回它。但问题是压缩响应是不正确的。Fiddler 和其他客户端无法解压缩它。

0 投票
0 回答
126 浏览

media-type - Brotli 压缩是否有 IANA 媒体类型?

对于 gzip,有一个 IANA 媒体类型“application/gzip”和一个 HTTP 内容编码缩写“gzip”。

对于 Brotli,有一个内容编码“br”。Brotli 压缩数据是否有 IANA 媒体类型?如果不是,为什么不呢?

光伏

0 投票
1 回答
688 浏览

javascript - 是否可以在服务器端 gzip 文件并在浏览器中透明地解压缩它?

我的 Web 应用程序将 JSON 文件发送到客户端。这些文件可能比较大。

我可以在服务器端压缩它们并在客户端透明地接收未压缩的内容吗?

例如,如果我写

我可以只ajax/test.json压缩 gzip 并将内容编码设置为 gzip 吗?

0 投票
0 回答
106 浏览

php - 将 Content-Encoding 设置为 true 有什么作用?

我在继承的一些 PHP 代码中遇到了这一行:

查看 MDN 文档中的 Content-Encoding 'true' 不是有效值。它期待像 gzip 或 deflate 这样的东西,不是真的。

我也看了看,如果您将其设置为 true,我看不到 PHP 中的任何特殊行为。

但是,在我正在查看的代码中,这一行具有以下效果:它使正在输出的文件被压缩。它还将一个空的 Content-Encoding 标头添加到 http 响应标头。后者我理解 - 前者不是。

这里有一些使用 PHP 的 ob_gzhandler() 的交互,它已经被调用并且已经正确地将 Content-Encoding 标头正确设置为 gzip。

如果我注释掉这一行,则文件不会被压缩。

似乎正在发生的事情是这样的:

ob_gzhandler()将 Content-Encoding 标头设置为 gzip。然后下一行:header('Content-Encoding: ', true)- 在以某种方式启用先前设置之后调用ob_end_clean()- 但没有此,ob_gzhandler 的先前设置不会“激活”。这有意义吗?

基本上 - 为什么有人想做: