问题标签 [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.
php - 如何在 HTTP 请求内容完成之前提前运行 PHP?
我正在 PHP 中创建一些特定的应用程序,这些应用程序从客户端接收数据并对其进行处理。
有时客户端发送的数据可能非常大或长度未知。
所以我想问是否可以让PHP在客户端完成上传之前开始处理数据?
这是我想要的:
从 PHP 文档可以使用 PUT 方法并通过 php://input
http://www.php.net/manual/en/features.file-upload.put-method.php
接收内容
我打算使用具有分块传输编码的 PUT 方法。
但我只是尝试将 PUT 方法发送到 phpinfo.php (你知道里面有什么。)
并且故意不发送最后一个块。(零长度块)
除非我完成请求,否则 PHP 不会响应。
(这不是我对 PUT 方法的期望,它应该有某种优点。如果它无法及早启动 PHP,我宁愿使用普通的 POST 方法。)
根据这个主题
,我可以在完成接收之前回复 HTTP 请求吗?
我不认为 PHP 的早期响应会破坏 HTTP。
(不用担心我自己写的客户。)
注意:将数据分成多个请求不是一种选择,因为为了处理数据,有一些内存/对象不能在多个 PHP 实例之间共享。(即使在 MySQL 中有内存表。)
c# - 将文件分割成块,然后通过边界上传
我正在尝试将一些文件上传到服务器。
我的代码如下所示:
}
以这种方式调用它:
该脚本工作正常,如果文件小于 2MB,则会上传文件。如果文件大于 2MB,即使文件没有成功上传也会返回成功。我认为大于 2MB 的文件应该分成块然后发送到服务器。但我不知道如何拆分文件然后分块发送到服务器......
node.js - 浏览器似乎不像 cURL 那样刷新已经从服务器接收到的数据
我正在使用带有 HTTP 流(内容类型:分块)的 node.js 示例演示。
现在,当我使用 chrome 查看页面时,它只是超时,我再也看不到屏幕上的任何内容。而使用 cURL 似乎会向我显示收到的内容。
这是浏览器默认行为,除非它有完整的数据,否则它不会显示任何内容?丢弃数据并显示超时错误似乎是一种浪费。
node.js - 相同的 HTTP 请求,不同的 HTTP 标头
我正在开发一个 Node.js 应用程序(在 Heroku 中允许),它会生成 response.write() 并写入 JSON 文本。使用hurl.it工具,我可以测试这些 http 请求,但我不明白为什么在同一个 http 请求中,有时会出现第一个标头或有时会出现另一个标头。
我只想要第一个。我怎么能总是有第一个而从来没有第二个?
或者有时,
正如你所看到的,我不知道它可能是什么,所以我不知道哪些信息可以用来分享。所以如果你有任何想法,请分享!
JSON 来自使用 mysql npm 的 SQL 查询。就像是:
arrays - Pytables 读取 CArray 非常慢
我通过以下方式创建了一个分块数组:
但是当我阅读这个文件时,pytables 需要很长时间:
需要……22秒!
我做错什么了吗?在这种情况下如何加快阅读性能?
netty - 在 netty 中将 ChunkedFile 写入上下文从不调用“操作完成”
我正在尝试在 netty 中实现某种 http 代理,为此我需要一个一个地从磁盘发送几个文件。为此,我实现了简单的 ChannelFutureListener,它在“operationComplete”上发送下一个文件:
getData 非常简单:
问题是,由于某种原因,侦听器的“操作完成”仅对前几个文件调用,而另一端从未收到实际数据。我做错了什么?
http - 如何在 Varnish 中禁用“传输编码:分块”编码?
使用Varnish 4,我有一组后端响应有效的Content-Length
标头而没有Transfer-Encoding
标头。
在客户端第一次点击时,Varnish 不会使用这些标头响应客户端,而是删除Content-Length
标头并添加Transfer-Encoding: chunked
到响应中。(有趣的是,有效载荷中似乎没有任何块 - 它是一个连续的有效载荷)。
这会给尝试基于标头进行分段大小、带宽等分析的 Flash 视频播放器等客户端带来严重问题Content-Length
。他们的分析失败了,他们不能做多比特率流媒体等事情。
我尝试了一些半显而易见的事情,例如:
beresp.do_stream = true
beresp.do_gzip = false
unset req.http.Accept-Encoding
示例后端响应:
样品清漆响应:
对象的后续加载确实包括Content-Length
标头,而不是第一次加载到缓存中。
VCL:https ://gist.github.com/onethumb/e64a405cc579909cace1
清漆日志输出:https ://gist.github.com/onethumb/e66a2bc4727a3a5340b6
http - HTTP 1.1 - 传输的客户端请求不能被“分块”吗?
HTTP 1.1 客户端是否可以设置一个标头值来指示对请求的响应不应被分块?或者是防止这种情况的唯一方法是发送 HTTP 1.0 请求?我试过用谷歌搜索,但我能找到的只是在 HTTP 1.1 服务器上禁用分块传输的方法,所以我猜这在客户端上是不可能的,但我想我还是会问。
scala - 如何使用 Http 客户端 API 处理中继响应
是否有任何代码示例来展示如何处理中继响应消息?(http://spray.io/documentation/1.2.1/spray-can/http-client/#chunked-responses)
例如,我可能会使用 spray-can 的 http-client 来访问一个服务,它将以卡车的方式响应一个大文件。我想相应地处理卡车消息,以将大文件保存在我的本地磁盘中。
谢谢
莱昂
php - Android分块上传文件到PHP
我们如何将大文件分块上传到 PHP 服务器,以便在连接断开时,可以随时恢复上传。
具体来说,Android 中需要哪些库来执行此操作?
用户正在从互联网连接缓慢/不稳定的国家/地区上传大文件。谢谢
编辑
更多信息,我目前正在使用 HTTP POST 一次上传整个文件。如以下代码所示:
有没有办法修改它以按块发送它?我所做的大部分研究都不是很清楚,对不起