问题标签 [chunked-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.
php - PHP 文件服务脚本:不可靠的下载?
这篇文章最初是关于 ServerFault ( https://serverfault.com/questions/131156/user-receiving-partial-downloads ) 的一个问题,但我确定我们的 php 脚本是罪魁祸首。所以我在这里发布一个关于我认为是实际问题的更新问题。
我正在使用 php 脚本来验证权限,然后提供一个文件供我网站的用户下载。大多数情况下,这是可行的,但最近一位用户遇到了较大下载量的问题。对于大于 100MB 的文件,他只获得了约 80% 的下载量。此外,此脚本的所有下载都无法报告文件大小。此外,测试表明,如果给定直接链接(此时报告文件大小),同一用户可以可靠地下载每个失败的文件。
这是我们用来提供文件的相关代码片段:
请注意,在我们到达这里之前,$contenttype、$filename、$title 和 $ext 都已正确设置。这些都经过了三重检查。他们都不是问题。此外, $len 确实提供了正确的文件大小。
在研究这个问题时,我遇到了这篇文章:Content-Length header always zero
看来我遇到了同样的问题。当我使用脚本时,我对文件进行了分块编码,并且没有为内容长度设置大小。我假设大型下载出现问题,导致他在文件结束之前获得零长度块。
以下是直接请求的标头:
这是我的脚本回答的请求的样子:
所以问题是......我该怎么做才能使脚本的下载正常工作?同样,对于 99% 的用户来说,它按原样工作(尽管我现在觉得很烦人,因为没有报告文件大小,因此无法计算关于下载的时间估计)。
php - 同时使用分块传输编码和 gzip
我最近开始在我的网站上使用 gzip,它在除 Opera 之外的所有浏览器上都非常有效,它给出了一个错误,指出由于数据损坏而无法解压缩内容。根据我从测试和谷歌搜索中收集到的信息,使用 gzip 和分块传输编码可能是一个问题。请求像 css-files 这样的小文件时没有错误的事实也指向了这个方向。
这是一个已知问题还是我还没有考虑过其他问题?
有人还提到它可能与发送 Content-Length 标头有关。
这是我的代码中最相关部分的简化版本:
svg - 如果 gzip 压缩和块传输,SVG 可以部分渲染吗?
我有一些大型的、动态生成的 SVG,它们通过相对较慢的互联网连接提供服务。我正在尝试优化它们以尽可能快地查看它们。如果我将服务器设置为 Content-Encoding: gzip 和 Transfer-Encoding: chunked,任何 SVG 查看器会利用它并在传输时部分呈现它吗?如果没有,还有其他方法可以让它呈现为流吗?我可以把它分成几个 SVG 部分,但这将是很多工作,我希望服务器设置......
最常见的用户使用带有 Adobe SVG Viewer 插件的 IE7。
我怀疑这很重要,但我使用 C#/ASP.NET 和 IIS6 服务。
http - 多个数据包上的 HTTP 数据块?
HTTP 服务器通过多个数据包发送数据的正确方法是什么?
例如我要传输一个文件,我发送的第一个数据包是:
现在我需要制作一个新数据包,如果我只是发送:
所有客户端都关闭了我的连接,并且文件被缩短了。
我在第二个数据包中放入哪些标头以继续数据流?
nginx - 启用 nginx 分块传输编码
nginx 0.8.35 的更改 2010 年 4 月 1 日
这很棒,因为我正在尝试通过 nginx 反向代理将 git 更改推送到 git-http-backend 进程。出于客户端效率的原因,Git HTTP 利用了分块传输编码。
但是,我无法让它工作。我在 Debian Lenny 上使用 nginx 0.8.44 并进行以下配置调用:
以及以下 conf 文件:
我的proxy.conf
样子是这样的:
php - CURL 与 fsockopen 分块
这可能看起来有点奇怪..但我需要评估/解析使用 PHP 通过 HTTP 发送的块。
值得注意的是,HTTP 流可能永远不会结束。当我使用 CURL获取块时,有什么方法可以解析它们?
还是我必须求助于一些自制的fsockopen()
解决方案?
browser - 如何隐藏由加载(隐藏)iframe 引起的“页面加载”/“传输数据”指示器和微调器
有什么方法可以抑制网页加载时浏览器显示的微调器和“传输数据”指示器?
我正在将一个文档加载到一个隐藏的 iframe 中,这将需要很长时间(10 分钟)。我不希望/不需要用户意识到这一点 - 让他们感到困惑的是让页面看起来仍在加载。所以我希望能够禁用浏览器通常显示的所有“页面加载”活动。
iphone - 在 iPhone 上实现 HTTP Post 分块请求的最佳方法是什么?
2008 年有一个非常老的线程提到 NSUrlConnection 有很多错误并且泄漏很多。现在还是这样吗?
是否有任何 Cocoa Touch 类已经实现了分块上传,或者我最好使用 CF 类?
java - java中的分块http解码?
我正在解码http数据包。我遇到了块问题。当我收到一个 http 数据包时,它有一个标题和正文。当传输编码被分块时,我不知道该怎么办?
是否有有用的 API 或类用于对 JAVA 中的数据进行解块?
如果有人对http解码有经验,请告诉我如何做到这一点?
http - 你能解释一下分块编码吗?
当使用 Firefox 请求时,32
并且0
丢失。为什么?