问题标签 [transfer-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.

0 投票
0 回答
70 浏览

python - Python CGI:需要经常打印以防止服务器死机

可能重复:
python实时打印功能

我正在开发一个 python cgi web 应用程序,它从数据库中检索大量信息(数百万行)。为此,我将运行一个循环(打印语句在循环中)。

当脚本从数据库中检索时,如何在浏览器上连续打印信息?在我的例子中,假设循环运行 1000 次,只有在脚本完成所有循环后才会返回网页。有时脚本需要 5 分钟以上,但选项很少,服务器会给我超时错误。为了避免请求超时,我需要让服务器端脚本每隔一段时间返回一些东西,以向浏览器保证服务器没有死,并且结果将会出现。我正在使用 HTTP 标头打印“Content-type:text/html\r\n\r\n”。我了解了 HTTP 标头“Transfer-Encoding: chunked”。我如何在 Python 中使用它?如果您能给我任何建议,我将不胜感激。太感谢了。

问候,苏希尔。

0 投票
1 回答
1535 浏览

php - 解码 HTTP 分块 + gzip 压缩的内容

如何解码服务器响应

1) 传输编码:分块 2) 内容类型:gzip

我需要手动执行此操作,不能只使用 curl 发送请求。我需要从原始 $string 解码。

这是一个应该解开 HTTP 响应 (php) 的函数:

但它似乎不适用于 gzip 压缩的内容(gzinflate 不在此片段中)。我尝试对返回的内容执行 gzinflate,但这根本不起作用。

有任何想法吗?或者 gzip + 传输编码分块如何协同工作?

谢谢

0 投票
1 回答
1795 浏览

android - 在android上下载带有传输编码头的文件

我有一个奇怪的问题,我真的会对此有所了解。我有一些代码可以下载各种文件。一些文件返回值为“chunked”的“transfer-encoding”标头,我很确定这是导致我出现问题的原因。

这就是它变得非常奇怪的地方。在我的 Motorolla Droid 上下载 3g 时,使用此编码的文件无法正确下载,因为它在读取所有字节之前完成下载,因此我有一个损坏的文件。但是,在完全相同的手机上使用 WiFi 下载相同的文件就好了。

这听起来像是服务器问题吗?安卓问题?3g问题?我的代码问题?

这是我用来读取响应标头的一些代码:

这是我用来传输数据的一些代码:

编辑 在进一步调试后,即使没有发送“传输编码”标头,我也收到了完全相同的结果,所以看起来我的问题与在 Wifi 上工作一样普遍,但在 3g 上却没有。

0 投票
1 回答
2238 浏览

request - 如何在 Fiddler 中生成分块请求?

我需要测试服务器并从 Fiddler 发送分块请求。我需要发送一些非常简单的东西,例如“a”字符作为内容。

有一个 Request Builder 选项卡,我可以在其中设置 Transfer-Encoding: chunked header,但是如何指定请求正文?

0 投票
0 回答
514 浏览

c# - 通过 C# 发送电子邮件时哪个 Content-Transfer-Encoding 或没有任何区别?

我通过以下方式通过 C# 发送电子邮件

我想这是默认的base64。但我想知道哪个 Content-Transfer-Encoding 最适合通过使用 windows server 2008 r2 默认 smtp 服务器发送电子邮件。

不同的 Content-Transfer-Encodings 之间有什么区别吗?谢谢你。

0 投票
1 回答
15665 浏览

http - 使用 NodeJS 流式传输 Http 响应

我正在尝试来自一个简单的 NodeJS HTTP 服务器的各种响应。我想要达到的效果是更快的网页视觉渲染。由于响应通过(对吗?)流式传输到浏览器,transfer-encoding: chunked我想我可以先渲染页面布局,然后延迟渲染其余数据。

res.end('world')问题是,除非已经写入的数据足够长,否则似乎直到没有发送响应,所以例如res.write(new Array(2000).join('1'))代替 that res.write('hello'),就可以了。

Node 是否会缓冲我的写入,直到数据足够大才能发送?如果是这种情况,块大小是否可配置?

0 投票
1 回答
2861 浏览

php - 在 PHP 中读取“分块”的 POST 数据

我正在尝试从带有“Transfer-Encoding:chunked”的请求中读取 POST 数据,但在接收到所有数据后才能触发脚本,是否可以让 PHP能够在分块请求通过时对其做出反应?

将 PHP 5.3.8 与 Apache 一起使用。

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 投票
0 回答
1356 浏览

php - 如何使用 PHP 从外部 url 获取“传输编码”和“内容编码”标头?

我有一个客户想要从 Web 服务响应中获取所有标头的基于 Web 的报告。我的客户还使用SoapUI来检查方法响应,并且他可以仔细检查该应用程序上的响应标头。

我已经尝试过 PHP get_headers()cURL方法,并且可以访问大多数标头参数,但是我的客户端也可以通过 SoapUI 获取“传输编码”和“内容编码”参数,而我的 PHP 请求没有得到这些。

我的 PHP get_headers 结果(与 cURL 相同):

我客户的 SoapUI 标头(我只粘贴了不同的标头):

对我来说,通过 PHP 在我们的基于 Web 的应用程序上获取完整的标题集(就像 SoapUI 一样)非常重要。我的客户想要检查响应是否通过 gzip 分块和/或压缩。我是否错过了另一种实现此类标头的方法?

0 投票
3 回答
5915 浏览

http - 使用 Node.JS 提供 HTTP/1.0 响应(内容长度未知,分块传输编码)

问题

我正在通过 Node.JS 提供长度未知的资源。因此,Content-Length无法设置标题。对于 HTTP 1.1,要求对这种性质的资源使用分块编码。Node.JS 知道这一点,并自行使用分块传输编码发送我的数据,并带有以下标头:

对于表现良好的客户来说,这一切都很好。 但是,我必须支持一些表现不佳的客户端(即 Android 2.2 和更早版本)。 这些客户端不正确支持分块传输编码。

修复尝试 #1

我最初的想法是将编码设置为none

这会禁用 Node.JS 的自动分块编码并保持与大多数客户端的兼容性。但是,现在我已经破坏了 Android 2.3+ 客户端,因为当他们看到这样一个虚假的传输编码标头时,他们只会咳嗽和窒息。

修复尝试 #2(我需要帮助的地方)

当我使用 发出请求时HTTP/1.0,服务器会正​​确返回没有分块编码的响应:

这解决了我的问题,并允许我为所有麻烦的客户提供服务。我不必为 发送虚假标头Transfer-Encoding,也不必指定内容的长度。

如何强制 Node.JS 的 HTTP 服务器始终以 HTTP/1.0 模式提供服务?