问题标签 [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 回答
3468 浏览

php - 如何解码/膨胀分块的 gzip 字符串?

在 PHP 中发出 gzip 放气请求后,我收到了偏移块中的放气字符串,如下所示

示例大大缩短以显示格式:

大概是因为分块格式,我无法夸大它。在使用十六进制编辑器手动删除偏移量并阅读 gzip 存档后,我可以确认数据没有损坏。我想知道是否有一种适当的方法可以将这个分块的 gzip 放气响应解析为可读的字符串?

我也许可以拆分这些偏移量并将数据连接到一个字符串中以调用 gzinflate,但似乎必须有一种更简单的方法。

0 投票
1 回答
1324 浏览

jboss - 在 JBoss 4.2.3.GA 上 - JSP 响应标头 transfer-encoding:chunked 使我无法在负载均衡器上缓存 jsp 内容

在 JBoss 4.2.3.GA 上,我们有一个使用 transfer-encoding:chunked 生成的 JSP 响应。这会阻止我们的 Netscaler 负载均衡器允许 JSP 生成的 HTML 被缓存,因为它认为它是可变内容。

但是如果我们设置了 max-age,那么无论传输编码如何,请求是否都应该被缓存?

我决定尝试让 JSP 以固定长度返回(设置内容长度,以便将传输编码设置为固定)。. 我做了以下测试:

创建了一个 Jboss 4.2.3.GA Web 应用程序,其中包含一个包含大量内容的 test.jsp 文件。我验证了当部署这个从服务器渲染的 JSP 文件时,使用 transfer-encoding:chunked。内容的总大小为 71.00Kb。

我进入 test.jsp 并尝试了各种设置:

验证 test.jsp 仍然传输编码:分块。

我还尝试编辑 jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml 并设置:

已验证 test.jsp 仍然是 transfer-encoding:chunked。

我在这里做错了什么?如何缓存此内容?

0 投票
3 回答
1554 浏览

c++ - 从套接字无限读取

从套接字读取分块数据(来自http请求)的正确方法是什么?

但是服务器发送无限数据并且socket.receive不返回管理。有什么正确的方法可以部分读取分块数据?(答案是分块数据)。

0 投票
3 回答
1533 浏览

php - 使用分块响应时如何禁用 chrome 缓存

<?php
echo 'first<br>';
ob_flush();
flush();
file_get_contents("http://ttt.tt");
echo "second";

http://ttt.tt无法访问。所以在浏览器中我们可以看到输出“first”,然后等待“30s”/每个脚本的最大执行时间/将输出“second”。在 IE、FF 下运行正常。
但是在chrome中,“first”&&“second”会一起输出。

我的英语不好。我不知道你是否明白。帮助!!!

我还尝试像这样禁用浏览器的缓存:
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

但是问题依然存在。。

0 投票
1 回答
9046 浏览

php - jQuery 支持 Transfer-Encoding:chunked

我是一名网络开发人员。在我的脚本中使用 header() 来设置“Transfer-Encoding:chunked”。和 flush() 到网页。它将在网页上分时打印。它工作正常。但是,当我使用 jQuery.ajax() 请求 this.it 时,它总是一起输出(分块无用)。

如何解决这个问题?在 jQuery ajax 中使用分块编码?

0 投票
2 回答
902 浏览

perl - Perl 使用 Unpack 将二进制数据拆分成块

Transfer-Encoding: chunked用来编写 HTTP 响应。

响应通过以下方式分成几部分:

当内容类型为 时,这可以正常工作text/html,但它会破坏二进制数据,例如application/pdf.

unpack用于将二进制数据分成相等的长度?

0 投票
2 回答
8994 浏览

java - 分块输入流意外结束

我试图编写一个程序,以分块格式从 Web 服务器获取文件。我正在尝试在 HTTP 3.0 API 中使用 ChunkedInputStream 类。当我运行代码时,它给了我“卡盘输入流意外结束”错误。我究竟做错了什么?这是我的代码:

0 投票
2 回答
1629 浏览

java - 将套接字用于分块数据

我正在尝试创建一个程序,该程序将直接从套接字获取数据,而不是使用 HttpURLConnection 或 HttpClient。使用套接字将给我更多的自由来操作数据以匹配需求。我希望使用套接字,我可以保留与每个块一起发送的块头。以下是我的代码来实现这一点。不幸的是,即使代码运行没有任何错误,它也至少运行了 40 秒才停止。此外,即使我检查了程序已连接到服务器,我也没有从服务器获得任何 InputStream。

0 投票
2 回答
4422 浏览

python - 使用 Python 进行分块 HTTP 上传

我开发了一个 REST api 来处理文件上传。由于系统处理大文件,因此 api 使用分块编码处理上传。该 api 与 JQuery 的文件上传插件一起工作正常,因此在服务器端没有问题。

我目前正在使用 python 脚本对大量大文件进行一些批处理。但是我找不到任何关于如何使用 python 进行分块上传的示例、代码片段或指南。我查找了 urllib2、httplib,但我无法让它工作。我也深入研究了 curl 但没有任何运气。

0 投票
1 回答
1449 浏览

php - PHP - 分块文件副本(通过 FTP)缺少字节?

因此,我正在编写一个分块文件传输脚本,旨在将文件(无论大小)复制到远程服务器。它几乎工作得非常好(我测试了一个 26 字节的文件,哈哈)但是当我开始做更大的文件时,我注意到它不太工作。例如,我上传了一个 96,489,231 字节的文件,但最终的文件是 95,504,152 字节。我用一个 928,670,754 字节的文件对其进行了测试,复制的文件只有 927,902,792 字节。

有没有其他人经历过这种情况?我猜feof()可能会做一些不稳定的事情,但我不知道如何替换它或测试它。为了您的方便,我评论了代码。:)

编辑

我(可能已经)确认脚本最终以某种方式死亡,并且没有损坏文件。我创建了一个简单的文件,每行对应于行号,最多 10000,然后运行我的脚本。它在第 6253 行停止。但是,脚本仍然返回“完成!” 最后,所以我无法想象这是一个超时问题。奇怪的!

编辑 2

我已经确认问题存在于fwrite(). 通过$chunk在循环内回显,完整的文件被返回而不会失败。但是,写入的文件仍然不匹配。

编辑 3

如果我在 fwrite() 之后立即添加 sleep(1),它似乎可以工作。然而,这使得脚本需要一百万年才能运行。PHP的附加是否有可能存在一些固有的缺陷?

编辑 4

好吧,不知何故,进一步将问题隔离为 FTP 问题。当我在本地运行此文件副本时,它工作正常。但是,当我使用文件传输协议(第 9 行)时,字节丢失了。尽管fopen(). 这可能是什么原因造成的?

编辑 5

我找到了解决办法。修改后的代码在上面——我会尽快自己发布一个答案。