问题标签 [transfer-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 投票
2 回答
4327 浏览

c - C解析HTTP Chunked传输编码响应

我正在开发一个需要解析 Chunked-type HTTP 传输的客户端。我已经把头撞在墙上,试图找出以下错误,如果有人能够更快地发现我的错误,我将不胜感激。总结一下这个问题:似乎客户端没有收到所有的块,从而搞砸了其余的过程。提前致谢!

0 投票
2 回答
87692 浏览

http - 传输编码:gzip 与内容编码:gzip

在是否要做的问题上,目前的情况是什么

或一个

当我想让带宽有限的客户端表示他们愿意接受压缩响应时,服务器拥有是否压缩的最终决定权

后者是例如 Apache 的 mod_deflate 和 IIS 所做的,如果您让它负责压缩。根据要压缩的内容的大小,它会做额外的Transfer-Encoding: chunked.

它还将包括一个Vary: Accept-Encoding,它已经暗示了问题。Content-Encoding似乎是实体的一部分,因此更改Content-Encoding数量等于实体的更改,即不同的Accept-Encoding标头意味着例如缓存不能使用其缓存版本的其他相同实体。

是否有一个我错过的明确答案(并且没有隐藏在某些 apache 新闻组的长线程中的消息中)?

我现在的印象是:

  • Transfer-Encoding 实际上是现有服务器和客户端实现通过 Content-Encoding 完成大部分工作的正确方法
  • ETag内容编码,因为它的语义含义,带来了几个问题(当它透明地压缩响应时,服务器应该做什么?)
  • 原因很简单:浏览器不支持它,因为服务器不支持,因为浏览器不支持

所以我假设正确的方法是 a Transfer-Encoding: gzip(或者,如果我另外分块身体,它会变成 Transfer-Encoding: gzip, chunked)。在这种情况下,没有理由触摸VaryETag任何其他标题,因为它是传输级别的东西。

现在我不太关心 的“逐跳”性Transfer-Encoding,其他人似乎首先关心的是,因为代理可能会解压缩并将未压缩的转发给客户端。但是,如果原始请求具有正确的标头,代理也可以按原样(压缩)转发它,Accept-Encoding在我知道的所有浏览器的情况下都是给定的。

顺便说一句,这个问题至少有十年的历史了,参见例如 https://bugzilla.mozilla.org/show_bug.cgi?id=68517

对此的任何澄清将不胜感激。无论是在什么被认为符合标准和什么被认为是实用方面。例如,仅支持透明“内容编码”的 HTTP 客户端库将成为反对实用性的论据。

0 投票
1 回答
495 浏览

box-api - 传输编码分块盒 API

我想知道Box.net 是否支持-H "transfer-encoding: chunked" ?

0 投票
2 回答
2976 浏览

php - PHP 中的“Transfer-Encoding: chunked”标头。什么是“填充”?

正如对上一个问题的回复中所建议的那样(PHP External Oauth : how to display a waiting message while waiting for callback (not using AJAX) ),我正在使用传输编码:在执行某些任务时显示等待消息。我的第一次尝试失败了,我在 PHP 中的“Transfer-Encoding: chunked” header这个问题中找到了解决方案。有 1024 个空格的“填充”。没有这个填充它不起作用。我已经用谷歌搜索了,但我找不到这个填充的用途。这是示例代码(来自相关问题)。

有没有人解释为什么它可以在没有“填充”的情况下工作和不工作?

0 投票
1 回答
757 浏览

servicestack - 如何禁用传输编码:ServiceStack 分块

有没有办法将 ServiceStack 配置为不在 HTTP 标头的响应中添加 transfer-encoding:chunked 并禁用此编码类型?

0 投票
0 回答
384 浏览

http - HTTP 1.1 Transfer-Encoding:chunked 每次打开新的 TCP 套接字

使用的协议:HTTP 1.1

标头包括“传输编码:分块”

在发送包含“传输编码:分块”的后续请求(向同一服务器发送相同请求)时,我看到为每个请求打开了新的 TCP 套接字。

请求不应该使用同一个套接字吗?为什么套接字每次都被终止?

注意: 使用 fiddler 发送的请求

0 投票
1 回答
562 浏览

php - 内容传输编码问题

我这里有问题。我创建了一个 mail() PHP 脚本来发送附件,您通常会通过常规电子邮件提供商发送。问题是我只能发送不超过一定字符数的文件。例如,我可以发送一个名为“New Text Document”的文件,但如果我尝试发送一个名为“New Document of Microsoft Word (3)”的文件,它永远不会收到我的电子邮件。

有人可以告诉我为什么会这样吗?

它发送附件,但仅当文件具有例如文件名称为 10 个字符时,但如果它有 15 个字符,则不会发送

0 投票
3 回答
2436 浏览

python - Transfer-encoding: chunked 应该如何渲染?

当浏览器呈现使用分块编码传输的数据时,浏览器应该呈现原始数据而不添加块大小和 CRLF 来编码数据,对吗?

使用此代码作为示例:

https://gist.github.com/josiahcarlson/3250376

我的浏览器(Chrome 和 FF)呈现

我没想到会看到块大小。

是否应该在浏览器中使用我们的不带编码信息的数据来呈现数据?

0 投票
2 回答
1366 浏览

c# - 传输编码:在 Windows Phone 中分块

我有一个带有 Transfer-Encoding: chunked 的服务器响应

查看 json 数据之前的 c7 块大小。

如何使用 Windows Phone 读取没有块的原始响应流HttpWebResponse


提示:要使服务器禁用分块输出,我只需要指定 HTTP/1.0 协议版本。但我不知道该怎么做,因为Windows Phone 或 SilverlightProtocolVersion中的类中没有属性HttpWebRequest

0 投票
1 回答
2695 浏览

python - urllib2 python(传输编码:分块)

我使用以下 python 代码下载了 html 页面:

对于像这样的页面,它打开 url 时不会出错,但随后只打印 html 页面的一部分!

在以下几行中,您可以找到 html 页面的 http 标头。我认为问题是由于“传输编码:分块”。

似乎 urllib2 只返回第一个块!我在阅读剩余的部分时遇到了困难。我如何读取剩余的块?