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

netty - Netty HttpChunckAggregator 有状态 --> 竞争条件?

也许这是一个明显的问题,但我对 netty 太陌生了。

看看 HttpChunckAggregator 类,我发现它是有状态的。这让我怀疑......给定一个具有以下管道的特定频道:

和 NIO Netty 服务器,在分块消息和多线程的情况下,我可以获得竞争条件吗?

我看到每个新频道都会创建一个新的块聚合器,但是......所有的块消息都将在同一个频道中接收?

0 投票
1 回答
5347 浏览

java - 使用 HttpClient 4.1 解码分块数据

我正在使用HttpClient向应该返回 xml 数据的服务器发送请求。此数据作为分块数据返回。然后我试图将接收到的 xml 数据写入文件。我使用的代码如下所示:

这会导致将如下所示的数据打印到文件中: 结果文件

此代码适用于非分块数据。如何使用 HttpClient 正确处理分块数据响应。任何帮助是极大的赞赏。

0 投票
1 回答
2992 浏览

file-upload - apache commons fileupload 是否支持分块上传?

我们已经开始使用 PLupload 进行文件上传,发现它可以支持“分块”文件上传。问题是我们的服务器将一个大文件上传视为多个小文件来自多个 POST 请求。

有人知道 Apache Commons FileUpload 是否支持分块上传吗?

0 投票
2 回答
1123 浏览

heroku - 如何在heroku上流式响应rails应用程序

我有一个在 heroku 上运行的 rails 3.1 应用程序。我需要为用户提供下载 csv 数据的能力。我正在尝试流式传输数据,但它是一次性发送的。对于较大的请求,哪个会超时。

heroku 网站上有很多关于流和分块的讨论,但据我所知,thin 收集所有数据并一次性发送。我如何让它工作?

我必须添加一些中间件吗?例如 unicorn 与 mongrel 一起运行的代码流很好。

0 投票
2 回答
1361 浏览

c++ - WinSock 分块数据编码

当我连接到某些网站时,它给了我:

在文件的末尾,它看起来像:

但是,当我执行 stackoverflow.com 时,它的打印效果非常好.. 源代码中可能有额外的空白行,但没关系.. 为什么其他站点会添加数字?

我该如何解决?另外,如何将该标头与 html 本身分开?

我的代码如下:

0 投票
1 回答
763 浏览

perl - 我正在尝试使用 perl 脚本在 HTTP 响应中将 HTML 部分作为块发送,但出现编译错误

以下是我用来将 HTML 页面作为分块响应发送的脚本的一部分。但是,在运行脚本时会引发编译错误,例如:

在 nph-99_1_1_18.pl 第 19 行,靠近“print”233“(可能是从第 18 行开始的失控的多行“”字符串)处找到操作员预期的数字

0 投票
1 回答
3011 浏览

ios - 在 Objective-C 中发送分块的 HTTP 1.1 请求

我有以下问题:我正在创建一个非常大的 SOAP 请求(数据是编码为 Base64 字符串的视频),因此我无法将其作为原始 SOAP 请求发送,而是需要以 HTTP 1.1 块的形式发送。我似乎无法弄清楚该怎么做。我在这里使用了代码: What are alternatives to NSURLConnection for chunked transfer encoding 但它似乎没有做我认为应该做的事情 - 我可以看到请求作为单个请求而不是多个块到达服务器(我在服务器上使用 WireShark 来查看传入的流量。)

我知道 Android 上的类似功能使用 Java 的 Apache Foundations HTTP 库工作 - 有了这些,任何未预先指定长度的 HTTP 请求都作为 HTTP 1.1 块请求传输 - 我确实可以看到这些请求到达服务器作为单独的块......我想效仿。

(更新:在我看来 AFNetworking 可能具有该功能,但我找不到任何关于如何使用它的示例。)

这是我的代码,或多或少:

其中 ChunkedTransferConnection 实现如下

0 投票
4 回答
4424 浏览

python - Django 返回 http 提前刷新(分块响应)

我有一个算法,它等待近 5 秒来生成响应,我想在用户发送请求后立即向用户发送一个 ack(http 200),告诉他他的请求已收到并等待 5 秒。

生成器功能:

在某些方面:

浏览器中的响应:

"传输编码: 分块\n状态: 200\n连接: 关闭\n内容类型: text/html; charset=utf-8\n\nChunk 1Chunk 2"

问题: 我得到了所需的响应(Chunk 1,Chunk 2),但在 5 秒后。我想先发送“Chunk 1”,然后在 5 秒后发送“Chunk 2”(更新响应)。是否有任何特定的设置/更改来实现这一点?

更新:

Django = 1.4 蟒蛇 = 2.7

0 投票
2 回答
1613 浏览

http - Netty - 访问分块 HTTP 请求的内容 (LittleProxy)

我正在使用使用 Netty的LittleProxy拦截 HTTP 请求。但是,现在我想拦截一个显然使用分块传输编码的 Web 服务请求。

HTTP 标头看起来像这样

如何访问内容?我尝试将 httpChunkAggregator 添加到 littleproxy 代码中的某个管道中,但没有用。

0 投票
2 回答
7560 浏览

http - 将 Netty 4 HTTP 文件服务器示例更改为使用 ChunkedStream 而不是 ChunkedFile

当总数据大小未知时,我试图围绕 Netty 4 实现 HTTP 服务器的方式来使用分块传输编码服务 HttpResponses 主体。

作为一个起点,我只是更改了 HttpStaticFileServerHandler(在https://github.com/netty/netty/tree/netty-4.0.0.CR1/example/src/main/java/io/netty/example/http中找到/file)使用 ChunkedStream 而不是 ChunkedFile(它们都是 ChunkedByteInputs)。

我知道在原始示例用例中使用 FileInputStream 并不理想,但我认为它是重用已知代码的一个很好的示例。

因此,这里是与 io.netty.example.http.file 包中的 HttpStaticFileServerHandler 类的差异(与 4.0.0.CR1 相比):

这里是完整的更改文件:https ://gist.github.com/eskatos/5311587

变化很小:使用 FileInputStream 代替 RandomAccessFile 和 ChunkedStream 代替 ChunkedFile。管道未受影响。

要重现,只需将更改应用到 Netty 示例,运行它并尝试下载任何文件。

在此更改之后,目录列表显然有效,因为响应没有分块,但文件下载却没有。客户端下载文件但从未完成下载,保持连接并永远等待。我已经尝试了从浏览器到 curl、wget 等的几种方法。我还尝试将 ByteLoggingHandler 添加到管道中,我可以看到一个空的尾随块,所以我不明白为什么浏览器仍在等待数据。

有什么线索吗?