问题标签 [chunked]

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 回答
17062 浏览

android - 如何在 Android 上以 JSON 格式发送文件?

我想使用 http 客户端以 JSON 格式发送文件我不知道如何开始任何人都可以建议我应该做什么?我将以这种 JSON 格式发送数据:

如您所见,我将分块发送文件。我不知道我是否要将文件转换为字节数组。如果我需要,任何人都可以提供一些示例代码,谢谢。

0 投票
1 回答
17328 浏览

java - HttpClient 抛出 TruncatedChunkException 访问大块资源

[使用 httpcore 4.1.4、httpclient 4.2.5、Oracle JDK 1.7.0_25]

我正在尝试代表 webapp 的 javascript (AJAX) 代码“代理”与第三方 Web 服务的连接,它似乎在大chunked响应时失败,通过发送多个 RST 并抛出org.apache.http.TruncatedChunkException.

所以我想知道:

  1. 为什么http客户端试图断开连接?
  2. 它在做一些明智的事情吗?(即服务器可能有问题)还是这里发生了什么错误?

我的基本方法是将所有内容从 servlet 的请求对象复制到 apache 组件 httpclient 请求并执行。更具体地说,我:

  1. 创建一个 apache commons httpclient DefaultHttpClient 对象,
  2. 将所有请求标头复制到新的请求对象,
  3. host使用我代理的主机/端口设置(/覆盖)新请求的标头,
  4. 将所有 HTTP 参数复制到新请求中,
  5. 将任何实体主体复制到新请求中,
  6. 执行请求,
  7. 将响应标头复制到我的 servlet 的响应标头,然后
  8. 将任何实体主体作为流复制到 servlet 的输出流。

引起我问题的一点是最后一个。它似乎在一个块中途失败,我得到以下堆栈跟踪:

我已经用 Wireshark 窥探了它并得到了一个类似这样的过程:

在我有限的理解中,FIN 的意思是“我已经发送完毕”,因为客户端标头已经发送,所以 IMO 足够公平。然而 RST/reset 似乎只是试图断开连接。

客户端的 HTTP 标头是:

对于服务器:

顺便说一句,这个问题:[restlet ]TruncatedChunkException:看起来很相似,但似乎没有任何有用的信息。

更新:我已经尝试过使用非分块站点(/。:-))并且它同样失败了:

0 投票
1 回答
1221 浏览

asp.net - Transfer-Encoding: Chunked 导致 404 系统找不到指定的文件

我正在尝试发布到 IIS6 提供的页面,并添加以下标题:

当我这样做时,我收到一个404错误:The system cannot find the file specified.. 如果我对没有此标头的页面发出相同的请求,它肯定存在。

这是标头-两个请求之间的唯一区别是分块...

还有身体:

IIS 元数据库在 W3SVC 级别将 AspEnableChunkedEncoding 设置为 true,并且不会在站点级别覆盖它。

为什么我会收到 404 错误?

更新:我注意到对不成功请求的响应:

...标题不存在。我不知道这是否有帮助 - 如果我没有在请求中设置标题,它就在那里。

0 投票
1 回答
11509 浏览

http - 如何删除传输编码:在 HTTP 响应中分块

我创建了一个 HTTP 端点(Java 中的 REST、Spring Framework、Apache Tomcat),其中 HTTP 响应的标题为“Transfer-Encoding: chunked”。我不知道它是由servlet还是服务器创建的。

我不希望端点响应该标头。是否可以强制它以免发送该标头?

0 投票
1 回答
1448 浏览

node.js - Node.js 不能 res.write 直到 res.end 被调用(分块)

这是书中的一个例子:“Professional Node.js”。它应该每秒输出一个时间戳,持续 3 秒。但是在调用 res.end() 之前什么都没有出现:(页面加载时 3s,在所有出现在屏幕上之前......)

你也一样吗?

[编辑:]我发现这个简单的 Node.js 服务器以分块传输编码进行响应, 但它对我也不起作用......(所有都在 end() 调用 ~5s 之后显示)

0 投票
0 回答
615 浏览

ruby-on-rails - 为什么我的 Rails 应用程序使用分块传输编码?

我没有stream在我的应用程序中使用任何地方,但仍在发送回复transfer-encoding: chunked

额外的谜团#1:标题是小写的

额外的谜团#2:有一个etag,默认情况下在 rails 中使用主体的 md5 计算,这在流式传输的情况下是不可能做到的。

更多信息

  • 导轨 4.0.1
  • 1.9.3 模式下的 jruby 1.7.6
  • heroku
  • 彪马
0 投票
2 回答
14562 浏览

http - 多部分和分块协议之间的区别

有专家能解释一下两者的区别吗?分块是流协议而多部分不是吗?使用多部分有什么好处?

0 投票
2 回答
154 浏览

proxy - Apigee 代理有大小限制吗?

我为我的后端 API 配置了一个简单的直通代理。它适用于返回短数据的 URL。我有一个返回大约 700KB 数据的 URL。为此,它仅返回具有 200 状态的部分数据(大约 54K)。有没有办法增加 API 代理的大小限制?

它甚至不返回“分块”响应:-(

0 投票
0 回答
310 浏览

http - Heroku 是否支持分块的 HTTP POST 数据?

我有一个正在开发的应用程序,我想使用分块的 HTTP/1.1 POST 请求向服务器发送未定义的数据量。

我现在只能看到在初始标头之后似乎没有任何内容发送到服务器:

在应用程序(节点快递)中,如果我记录响应的“数据”事件,我只看到:

但是,在本地,相同的日志记录给出:

有什么我可能会丢失的吗?

0 投票
1 回答
531 浏览

javascript - Comet:XMLHttpRequest.responseText 无限增长

全部,

我正在实现一个彗星 JS 库。现在我正在跟踪响应文本的大小并在块到达时返回新部分。这为我的回调提供了新数据,但这是一个非常明显的内存泄漏。有没有办法强制关闭 XMLHttpRequest 对象或定期重置 responseText 的内容?